【问题标题】:How to escape a question mark in R?如何在R中转义问号?
【发布时间】:2012-05-23 01:33:36
【问题描述】:

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

我在做:

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

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

如何确定“?”的正确转义过程

【问题讨论】:

    标签: regex r


    【解决方案1】:

    你也必须逃脱\

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        vectorofStrings <-c("hello.", "where are you?",  "?")
        
        grep('\\?',vectorofStrings)
        grep('?',vectorofStrings, fixed=TRUE)
        

        【讨论】:

          【解决方案4】:

          在 windows grep 下,我没有运气转义反斜杠。但我设法通过以下方式使其工作:

          grep [?]{3} *
          

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-03-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-27
            • 2015-11-09
            • 1970-01-01
            • 2018-01-17
            相关资源
            最近更新 更多