如何逃避R中的问号?

时间:2012-05-15 14:02:12

标签: regex r

我正在尝试grep一个字符串向量,其中一些包含问号。

我在做:

grep('\?',vectorofStrings) 并收到此错误:

Error: '\?' is an unrecognized escape in character string starting "\?"

如何确定'?'

的正确转义程序

4 个答案:

答案 0 :(得分:20)

您还必须逃离\

vectorOfStrings <- c("Where is Waldo?", "I don't know", "This is ? random ?")
grep("\\?", vectorOfStrings)
#-----
[1] 1 3

答案 1 :(得分:9)

使用\\fixed = TRUE参数,如下所示:

vectorofStrings <-c("hello.", "where are you?",  "?")

grep('\\?',vectorofStrings)
grep('?',vectorofStrings, fixed=TRUE)

答案 2 :(得分:4)

我猜测\在R中用作普通字符串转义字符,因此要将文字\传递给grep,您可能需要\\?

答案 3 :(得分:0)

在windows grep下,我没有运气反斜杠逃脱。但我设法通过以下方式使其发挥作用:

grep [?]{3} *

也就是说,我将问号括在字符类括号([])中,这使得特殊含义无效。 {3}部分与问题无关,我用它来找到3个连续的问号。