我正在尝试grep一个字符串向量,其中一些包含问号。
我在做:
grep('\?',vectorofStrings)
并收到此错误:
Error: '\?' is an unrecognized escape in character string starting "\?"
如何确定'?'
的正确转义程序答案 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个连续的问号。