正则表达式匹配负值

时间:2016-12-15 10:48:38

标签: r regex

我尝试使用多个正则表达式创建一些简单易用的内容集群。

想象一下字符串列表:c(" a"," b"," ac") 我需要定义的组是"所有:a' s"和"所有:b' s"。所以价值观" a"和" ac"是" A"和" b"是" B"。

myDF$contentGroup <- sub(".*a.*", "A", myDF$stringList)

然而,这将导致我的数据框中的列&#34; contentGroup&#34;其中包含&#34; stringList&#34;的值如果没有匹配发生。因此,如果我使用&#34; B&#34;执行相同的代码行。它会覆盖&#34; A&#34; s。

myDF$contentGroup <- sub(".*b.*", "B", myDF$stringList)

我只是想弄清楚如何在一行代码中进行简单的聚类。尽可能简单。

1 个答案:

答案 0 :(得分:1)

您可以使用grep来匹配'a'和'b',并替换如下,

x[grep('a', x, fixed = TRUE)] <- 'A'
x[grep('b', x, fixed = TRUE)] <- 'B'

x
#[1] "A" "B" "A"