连接gsub

Wal*_*cio 3 regex optimization r gsub

我目前正在运行以下代码来清除重音符号中的数据:

df <- gsub('Á|Ã', 'A', df)
df <- gsub('É|Ê', 'E', df)
df <- gsub('Í',   'I', df)
df <- gsub('Ó|Õ', 'O', df)
df <- gsub('Ú',   'U', df)
df <- gsub('Ç',   'C', df)
Run Code Online (Sandbox Code Playgroud)

但是,我想在一行中完成它(使用另一个函数就可以了).我怎样才能做到这一点?

Uso*_*obi 5

尝试这样的事情

iconv(c('Á'), "utf8", "ASCII//TRANSLIT")
Run Code Online (Sandbox Code Playgroud)

你可以添加更多的元素c().

编辑:它取决于机器,检查 help(iconv)

这是R解决方案

mychar <- c('ÁÃÉÊÍÓÕÚÇ')
iconv(mychar, "latin1", "ASCII//TRANSLIT") # one line, as requested
[1] "AAEEIOOUC"
Run Code Online (Sandbox Code Playgroud)

  • 这应该是`mychar < - c('Á','Ã','É','Ê','Í','Ó','Õ','Ú','Ç')``iconv( mychar,"latin1","ASCII // TRANSLIT")` (3认同)
  • @WaldirLeoncio确定你可以:`Vectorize(iconv)(rep(mychar,2),"latin1","ASCII // TRANSLIT")` (2认同)