24

从 1600 万个字符串变量的向量中删除德语(或法语)重音的最佳方法是什么。

例如,“干燥综合征”变成“干燥综合征”

将单个字符转换为单个字符比音译更好,例如

ä => ae ö => oe ü => ue.

例如,使用正则表达式将是一种选择,但有更好的方法(R 包)吗?

gsub('ü','u',gsub('ö','o',"Sjögren's syndrome ( über) "))

有针对非 R 平台的 SO 解决方案,但对于 R 来说不是一个好的解决方案。

4

2 回答 2

28

用于iconv通过音译转换为 ASCII(如果支持):

iconv(c("über","Sjögren's"),to="ASCII//TRANSLIT")
[1] "uber"      "Sjogren's"
于 2012-11-28T17:09:11.000 回答
24

链接的答案之一建议

library(stringi)
stri_trans_general("Zażółć gęślą jaźń", "Latin-ASCII")

[1] "Zazolc gesla jazn"
于 2016-04-27T18:35:20.933 回答