我有德语文字,我想用ae,oe,ue等替换所有变音符号(ä,Ä,ü,Ü,ö,Ö)。

我可以单独执行此操作(通过将每个替换保存到一个新文件中):

gsub(pattern = '[ä]', replacement = "ae",text)
gsub(pattern = '[ü]', replacement = "ue",text)
gsub(pattern = '[ö]', replacement = "oe",text)

但是我可以在一个命令中做到这一点吗(包括用Ae,Oe和Ue等替换大写字母)?

我可以用正则表达式来做吗?

最佳答案

你可以试试

# install.packages("stringi) # uncomment & run if needed
str <- c("äöü", "ÄÖÜ")
stringi::stri_replace_all_fixed(
  str,
  c("ä", "ö", "ü", "Ä", "Ö", "Ü"),
  c("ae", "oe", "ue", "Ae", "Oe", "Ue"),
  vectorize_all = FALSE
)
# [1] "aeoeue" "AeOeUe"

关于同时替换R中的所有变音符(使用正则表达式),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40323219/

10-12 18:58