在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之后。

    08-24 15:18