我正在寻找一种简单的方法来用普通字母替换所有带点的字母。例如,我想将föó
更改为foo
。我可以这样做:R:用普通字母替换所有带点的字母
gsub("ö|ó","o","föó")
但是,对于每个可能的标点符号都可能需要大量的手动工作。有没有办法自动做到这一点?
我正在寻找一种简单的方法来用普通字母替换所有带点的字母。例如,我想将föó
更改为foo
。我可以这样做:R:用普通字母替换所有带点的字母
gsub("ö|ó","o","föó")
但是,对于每个可能的标点符号都可能需要大量的手动工作。有没有办法自动做到这一点?
你可以尝试这样一些变化:
cleanString <- function(x){
tmp <- iconv(x, from="UTF8", to ="ASCII//TRANSLIT")
gsub("[^[:alpha:]]", "", tmp)
}
x = "föó"
cleanString(x)
[1] "foo"
想法用iconv从Remove diacritics from a string
的重音符号和其他符号称为*变音符号* – Henry 2011-05-17 22:31:29