首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将ae,oe,ue改成元音

将ae,oe,ue改成元音
EN

Stack Overflow用户
提问于 2019-01-30 23:32:16
回答 1查看 64关注 0票数 0

我想用gsub()把ae,oe,ue改成ä,ö,ü,但前提是前面没有元音(a,e,i,o,u)。到目前为止,我想出了这个:

代码语言:javascript
运行
复制
umlaut_conversion <- function(text){
  text <- text %>%
  {gsub('ae','ä',.)} %>%
  {gsub('oe','ö',.)} %>%
  {gsub('ue','ü',.)}  
}

umlaut_conversion('Neue Woerter!')

这将产生以下结果:

代码语言:javascript
运行
复制
Neü Wörter!

但我需要的输出是:

代码语言:javascript
运行
复制
Neue Wörter!

因此,因为Neue中“ue”前面的元音“e”,所以不应该改变它。它将适用于所有元音。

EN

回答 1

Stack Overflow用户

发布于 2019-01-31 00:41:20

可能还有您没有描述的其他情况,但是使用正则表达式来完成您所说的事情并不难。下面进行了所需的替换,除非前面有元音。

代码语言:javascript
运行
复制
umlaut_conversion <- function(text){
  text <- text %>%
  {gsub('(^|[^aeiou])ae','\\1ä',., perl=T)} %>%
  {gsub('(^|[^aeiou])oe','\\1ö',., perl=T)} %>%
  {gsub('(^|[^aeiou])ue','\\1ü',., perl=T)}  
  text
}

umlaut_conversion('Neue Woerter!')
[1] "Neue Wörter!"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54444102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档