【问题标题】:str_replace doesn't replace all occurrences, but gsub does?str_replace 不会替换所有出现,但 gsub 会吗?
【发布时间】:2018-05-15 14:17:29
【问题描述】:

我正在尝试从下面的字符串中删除括号。

library(stringr)

x <- "(Verhoeff,1937)"

str_replace(string = x, pattern = "(\\()|(\\))", replacement = "")
[1] "Verhoeff,1937)"

gsub(pattern = "(\\()|(\\))", replacement = "", x = x)
[1] "Verhoeff,1937"

str_replace 似乎没有找到右括号? 任何想法为什么?

【问题讨论】:

  • substr_replace; gsubstr_replace_all(“g”代表“全局”)。
  • 感谢您的澄清。

标签: r string replace gsub stringr


【解决方案1】:

它只匹配第一次出现,而gsub 全部匹配。请改用str_replace_all

str_replace(string = "aa", pattern = "a", replacement = "b") # only first

str_replace_all(string = "aa", pattern = "a", replacement = "b") # all

【讨论】:

  • str_replacesubstr_replace_allgsub
猜你喜欢
  • 1970-01-01
  • 2012-09-25
  • 2018-11-08
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多