zankuralt
zankuralt

Reputation: 173

str_replace doesn't replace all occurrences, but gsub does?

I am trying to remove brackets from a string like the one below.

library(stringr)

x <- "(Verhoeff,1937)"

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

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

str_replace doesn't seem to find the closing bracket? Any ideas why?

Upvotes: 12

Views: 5868

Answers (1)

Tino
Tino

Reputation: 2101

It only matches the first occurency, whereas gsub does it all. Use str_replace_all instead:

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

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

Upvotes: 23

Related Questions