2017-12-01 17 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

関連する問題