2017-12-01 24 views
2

아래의 문자열에서 대괄호를 제거하려고합니다.str_replace는 닫는 대괄호를 대체하지 않지만 gsub는 대괄호를 대체합니까?

library(stringr) 

x <- "(Verhoeff,1937)" 

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

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

str_replace 닫는 대괄호가없는 것 같습니까? 이유가 무엇입니까?

+2

'sub' ≈'str_replace'; 'gsub' ≈'str_replace_all' ("g"는 "global"을 의미합니다). –

+0

설명해 주셔서 감사합니다. – zankuralt

답변

4

첫 번째 발생과 일치하는 반면, gsub은 모두 발생합니다. 대신 str_replace_all을 사용하십시오 :

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

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

즉,'str_replace'는'sub'이고'str_replace_all'은'gsub'입니다. – shosaco