str_replace不会替换所有出现,但gsub呢?

zan*_*alt 6 string replace r gsub stringr

我试图删除字符串中的括号,如下所示.

library(stringr)

x <- "(Verhoeff,1937)"

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

gsub(pattern = "(\\()|(\\))", replacement = "", x = x)
[1] "Verhoeff,1937"
Run Code Online (Sandbox Code Playgroud)

str_replace似乎没有找到结束括号?有什么想法吗?

Tin*_*ino 8

它只匹配第一次出现,而gsub这一切都是.str_replace_all改为使用:

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

str_replace_all(string = "aa", pattern = "a", replacement = "b") # all
Run Code Online (Sandbox Code Playgroud)

  • 也就是说,`str_replace`是`sub`而``str_replace_all`是`gsub`. (2认同)