12

与えられた

test<-"Low-Decarie, Etienne"

すべての句読点をスペースに置き換えたい

gsub(pattern="[:punct:]", x=test, replacement=" ")

しかし、これは生成します

"Low-De arie, E ie  e"

句読点は置き換えられず、明らかにランダムな文字が削除されます (ただし、タブの t と次の行の n として句読点に関連付けられている場合があります)。

4

1 に答える 1

24

仲間のモントリオール ユーザーはこちら。

いくつかのオプション、同じ結果。

R Base では、ブラケットを 2 重にするだけです

gsub(pattern="[[:punct:]]", test, replacement=" ")

[1] "Low Decarie  Etienne"

パッケージstringrにはそれを行う機能str_replace_allがあります。

library(stringr)
str_replace_all(test, "[[:punct:]]", " ")

または文字のみを保持

str_replace_all(test, "[^[:alnum:]]", " ")
于 2012-05-24T14:42:58.473 に答える