【发布时间】:2012-05-23 01:33:36
【问题描述】:
我正在尝试 grep 字符串向量,其中一些包含问号。
我在做:
grep('\?',vectorofStrings)
并收到此错误:
Error: '\?' is an unrecognized escape in character string starting "\?"
如何确定“?”的正确转义过程
【问题讨论】:
我正在尝试 grep 字符串向量,其中一些包含问号。
我在做:
grep('\?',vectorofStrings)
并收到此错误:
Error: '\?' is an unrecognized escape in character string starting "\?"
如何确定“?”的正确转义过程
【问题讨论】:
你也必须逃脱\:
vectorOfStrings <- c("Where is Waldo?", "I don't know", "This is ? random ?")
grep("\\?", vectorOfStrings)
#-----
[1] 1 3
【讨论】:
我猜\ 在 R 中用作普通字符串转义字符,因此要将文字 \ 传递给 grep,您可能需要 \\?
【讨论】:
使用\\ 或fixed = TRUE 参数,如下所示:
vectorofStrings <-c("hello.", "where are you?", "?")
grep('\\?',vectorofStrings)
grep('?',vectorofStrings, fixed=TRUE)
【讨论】:
在 windows grep 下,我没有运气转义反斜杠。但我设法通过以下方式使其工作:
grep [?]{3} *
也就是说,我将问号括在字符类括号([ 和 ])中,这使得特殊含义无效。 {3}部分与问题无关,我用它找到了3个连续的问号。
【讨论】: