12

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?

Wiktor Stribiżew
  • 607,720
  • 39
  • 448
  • 563
zankuralt
  • 173
  • 2
  • 9

1 Answers1

23

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
Tino
  • 2,091
  • 13
  • 15