问题标签 [grepl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
802 浏览

regex - 在 R 中使用带有大模式向量的 grepl 检测多个模式

目录是具有不同值的字符向量。它具有以下结构

列表包含美国所有城市 -> 芝加哥、波士顿、纽约、洛杉矶和另一列有品牌全名

如您所见,我正在尝试使用多种模式运行 grepl 函数,该模式返回以下错误:

我在其他帖子中读到,对此的适当解决方案是将所有要测试的模式折叠成带有管道分隔符的单个字符串,如下所示:

这适用于小向量,但在我的情况下,companybrand 中有 400 万个元素,这导致我的 R 因内存不足而终止。有没有一种实用的方法(可能使用 sapply)来运行这场比赛,而不需要计算上的繁重?

0 投票
1 回答
1375 浏览

regex - 用标点符号过滤R

我有一列数据集,如下所示:

我想要以下输出:

我的过滤尝试:

返回:

或者

返回:

0 投票
1 回答
838 浏览

regex - R - 具有特定排除的 grepl

我想知道如何在grepl.

让我们想象一下,我想寻找WHAM.

我得到的是

我可以看到这HOTELNEWHAMP是外国的。

那我怎么能vec[grepl("WHAM", vec )]清楚地表明我不想要HOTELNEWHAMP呢?

(这vec[!grepl("HOTELNEWHAMP", vec )]当然不是因为我的真实向量包含更多变量)。

谢谢

0 投票
1 回答
382 浏览

regex - R - 向量上的 grepl 条件以排除完全匹配

当我使用grepl.

想象一下我的向量是

grepl POP当我在视觉上识别流行音乐时,我想这样做。在我的示例中,我想排除"POPEYE", "MARY POPPINS".

我怎么能做类似的事情?为什么这行代码不起作用?

期望的结果

"POP MUSIC" "TOP THE POPS"

谢谢

0 投票
1 回答
804 浏览

regex - r-多个匹配中的部分匹配

我正在利用下面的代码与 1 个匹配项进行部分匹配,但有一个后续问题:假设我们对鱼有一个额外的标准,我们希望将“狗鱼”归类为鱼和犬类。这可能吗?

在代码开头定义正则表达式

创建一个向量,长度与df相同

对于每个正则表达式..

将现在填充的输出向量插入数据框中

期望的输出

原始堆栈溢出问题在这里:部分字符串匹配r

0 投票
3 回答
195 浏览

regex - 替代 for() 循环将非常大的数据框列条目与非常大的向量列表进行比较

我正在尝试获取一个profiles包含一列email地址的数据框,并添加一个由每个电子邮件地址的可注册域部分组成的新列,domain.

registerable_domains在一个过于复杂的过程中单独创建唯一的向量,无法针对数据帧中的每一行运行,其结果是一个向量,该向量必然小于profiles数据帧中的行数。然后我检查向量中的每个条目是否出现在数据帧中每个地址registerable_domains的末尾,并将数据帧的列条目设置为匹配的位置。emailprofilesdomain

下面的代码是可复制的数据,您可以复制粘贴并在 R 中执行,每行注释以解释它的作用。

for()循环正是我想做的:它在数据框的domain列中创建适当的条目。profiles问题是在这个例子中,profiles数据框有 12 行,registerable_domains向量有 8 个条目。在实际数据集中,profiles数据框有大约 500,000 行,registerable_domains向量有大约 110,000 个条目。结果,虽然for()循环适用于小数据集,但对于非常大的数据集,我需要一种不同的方法(我的估计是,这种方法需要大约 75 年才能在完整的数据集上完成!)。

非常感谢您帮助将此for()循环转换为大型数据集的时间实际操作。我查看了许多其他线程,但找不到任何解决这种特殊情况的答案(尽管解决了许多其他类似但不同的情况)。谢谢!

0 投票
1 回答
8922 浏览

regex - R - gsub 只有数字

我想清理这个向量,只保留数字

我想要的只是:4010, 8888, 9999

我想到了类似的东西,完全匹配数字,但它不起作用。

谢谢

0 投票
2 回答
94 浏览

r - 消除与字符串匹配的数据框行

我有一个rawdata包含生态信息的列的数据框。我正在尝试消除该列LatinName与我已经拥有一些数据的物种向量匹配的所有行,并创建一个仅包含缺少数据的物种的新数据框。所以,我想做的是:

这不起作用,因为布尔运算符不能应用于字符串。或者我可以做这样的事情:

这也不起作用,因为!grepl也不能使用字符串。

我知道有很多方法可以使用IS inrawdata的行进行子集化,但我想不出一种巧妙的方法来子集化,例如NOT in 。LatinNamematchesrawdataLatinNamematches

在此先感谢您的帮助!

0 投票
1 回答
143 浏览

regex - grep 匹配文本和数字混合中的某个数字序列

我有几个类似于“PRISM_ppt_stable_4kmM2_--------_bil.bil”的文件,其中 ------ 是年和月,如 190112。文件日期范围从 189501 到 198012。在 R 中,在 Windows 上7机器,我想匹配从192001到193912的所有文件。我很确定我想要grepl(),但我无法弄清楚在命令中引用序列的方法。我试过

和其他变体,但只会收到错误消息。我知道 [0-9]{4} 将匹配任何四个数字序列,但这将匹配所有文件。

0 投票
1 回答
92 浏览

regex - 如何设置正则表达式以在 R 中查找具有 grep 或 dplyr 匹配的变量?

例如,有变量名称列表,如

在这里,我想设置正则表达式来查找以 A 开头并且在 A 之后只有数字可用的变量名称?即,仅返回'A1234''A1565'我尝试了以下代码,

它将返回所有以A开头的变量,我如何修改代码以达到我的目的?