在R中,我如何grep带有$字符串的东西。在下面的示例中,我需要grep字符串“NB6106 $ MU-MU.rma”
x<-c("NB6106$MU-MU.rma", "NB610634$MU-MU.rma")
x[grep(pattern="*6106$*.rma", x = x)] #does not work
最佳答案
您可以使用
x<-c("NB6106$MU-MU.rma", "NB610634$MU-MU.rma")
x[grep(pattern="6106\\$.*\\.rma", x = x)]
见R demo
详细信息
6106\\$
-6106$
子字符串.*
-任何0+个字符\\.rma
-一个.rma
子字符串如果您计划确保不grep
11116106$...rma
,则可以使用"(^|\\D)6106\\$.*\\.rma$"
其中
(^|\\D)
与字符串开头(^
)或(|
)非数字字符(\D
)匹配,并且$
在末尾确保字符串的结尾出现在.rma
之后。