将重音字符转换为ascii字符

use*_*rJT 19 r transliteration

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

例如,'Sjögren综合征'进入'干燥综合症'

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

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

例如,使用正则表达式将是一个选项,但有更好的东西(R包为此)?

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

对于非R平台有SO解决方案但对R来说不是很好的解决方案.

Jam*_*mes 25

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

iconv(c("über","Sjögren's"),to="ASCII//TRANSLIT")
[1] "uber"      "Sjogren's"
Run Code Online (Sandbox Code Playgroud)

  • 对于重音字符,例如`é`,这将导致看起来像`'e` 的东西。在上述操作的输出向量上运行此命令:`out <- gsub("\\'", '', out)` (2认同)

use*_*rJT 21

其中一个相关答案表明

library(stringi)
stri_trans_general("Za?ó?? g??l? ja??", "Latin-ASCII")

[1] "Zazolc gesla jazn"
Run Code Online (Sandbox Code Playgroud)