【问题标题】:Removing/replacing brackets from R string using gsub使用 gsub 从 R 字符串中删除/替换括号
【发布时间】:2018-04-05 21:40:36
【问题描述】:

我想使用 gsub 从我的字符串中删除或替换括号“(”或“)”。但是,如下所示,它不起作用。可能是什么原因?

 >  k<-"(abc)"
 >  t<-gsub("()","",k)
 >  t 
[1] "(abc)"

【问题讨论】:

    标签: r regex gsub


    【解决方案1】:

    使用正确的正则表达式有效:

    gsub("[()]", "", "(abc)")
    

    附加的方括号表示“匹配里面的任何字符”

    【讨论】:

      【解决方案2】:

      不依赖正则表达式的安全简单的解决方案:

      k <- gsub("(", "", k, fixed = TRUE) # "Fixed = TRUE" disables regex
      k <- gsub(")", "", k, fixed = TRUE)
      k
      [1] "abc"
      

      【讨论】:

        【解决方案3】:

        可能的方式可能是(在 OP 正在尝试的行中):

        gsub("\\(|)","","(abc)")
        #[1] "abc"
        
        
        `\(`  => look for `(` character. `\` is needed as `(` a special character. 
        `|`  =>  OR condition 
        `)` =   Look for `)`
        

        【讨论】:

          猜你喜欢
          • 2017-06-19
          • 2019-05-22
          • 1970-01-01
          • 2017-10-31
          • 1970-01-01
          • 2021-10-30
          • 1970-01-01
          • 2021-01-28
          • 2017-07-26
          相关资源
          最近更新 更多