アクセント付きの文字も扱っているので、2 つのオプションを考えることができます。
- アクセントのある文字を完全に取り除きます。
iconv
アクセント付き文字を ASCII 文字に「音訳」するために使用します。
ここに両方があります。どちらの例でも、次のサンプル テキストを使用しています。
Z <- c("ANGLO AUTOMOTRIZ S.A. MATRIZ", "AUTOMOTORES Y ANEXOS / AYASA",
"ECUA - AUTO S.A. MATRIZ", "METROCAR S.A. 10 DE AGOSTO", "MOSUMI LA \"Y\"",
"distribuir contenidos", "proponer autoevaluaciones", "como buzón de actividades")
オプション 1: アクセント付きの「ó」が最後の項目で削除されていることに注意してください。
gsub("[^[:ascii:]]|[[:punct:]]|[[:space:]]", "", Z, perl=TRUE)
# [1] "ANGLOAUTOMOTRIZSAMATRIZ" "AUTOMOTORESYANEXOSAYASA" "ECUAAUTOSAMATRIZ"
# [4] "METROCARSA10DEAGOSTO" "MOSUMILAY" "distribuircontenidos"
# [7] "proponerautoevaluaciones" "comobuzndeactividades"
オプション 2: 「ó」が「o」に変換されていることに注意してください。
gsub("[[:punct:]]|[[:space:]]", "", iconv(Z, to = "ASCII//TRANSLIT"))
# [1] "ANGLOAUTOMOTRIZSAMATRIZ" "AUTOMOTORESYANEXOSAYASA" "ECUAAUTOSAMATRIZ"
# [4] "METROCARSA10DEAGOSTO" "MOSUMILAY" "distribuircontenidos"
# [7] "proponerautoevaluaciones" "comobuzondeactividades"
ノート:
- 便宜上、文字クラス
[[:punct:]]
と[[:space:]]
.
- 最初のオプションでは、文字クラス
perl = TRUE
を認識する必要があります。[[:ascii:]]
- オプション 1の
^
は「not」を意味します (したがって、「ASCII 文字ではないもの、スペース、または句読点を見つけて、何も置き換えないもの) と読むことができます)。