用gsub替换带重音的多个字母

用gsub替换带重音的多个字母

当然我可以替换这样的特定参数:

    mydata=c("á","é","ó")
    mydata=gsub("á","a",mydata)
    mydata=gsub("é","e",mydata)
    mydata=gsub("ó","o",mydata)
    mydata

但是肯定有一种更容易的方法来完成这一切,对吧?我没有发现gsub帮助非常全面。



慕哥9229398
浏览 545回答 3
3回答

慕田峪9158850

一个有趣的问题!我认为最简单的选择是设计一个特殊的函数,比如“multi”gsub():mgsub <- function(pattern, replacement, x, ...) {&nbsp; if (length(pattern)!=length(replacement)) {&nbsp; &nbsp; stop("pattern and replacement do not have the same length.")&nbsp; }&nbsp; result <- x&nbsp; for (i in 1:length(pattern)) {&nbsp; &nbsp; result <- gsub(pattern[i], replacement[i], result, ...)&nbsp; }&nbsp; result}这给了我:> mydata <- c("á","é","ó")> mgsub(c("á","é","ó"), c("a","e","o"), mydata)[1] "a" "e" "o"
打开App,查看更多内容
随时随地看视频慕课网APP