【发布时间】:2020-06-07 00:55:30
【问题描述】:
我正在做的代码是,如果单词以辅音开头,它将所有前导辅音移动到单词的末尾并添加“ay”。例如“带来”到“ingbray”。
【问题讨论】:
-
本网站不是代码编写服务。我们可以帮助您解决有关您的代码的具体问题,最好附上MCVE。但是,作为一次性的新用户欢迎奖金,鉴于其简单的性质,我已经回答了您的问题。今后,请按照How to ask 显示您在问题中的尝试。
我正在做的代码是,如果单词以辅音开头,它将所有前导辅音移动到单词的末尾并添加“ay”。例如“带来”到“ingbray”。
【问题讨论】:
您可以使用正则表达式来匹配前导辅音:
String pigLatin = str.replaceAll("(?i)(^[^aeiou]+)(.*)", "$2$1ay");
分解:
(?i) = 忽略大小写[^aeiou] = 任何非元音[^aeiou]+ = 1 个或多个非元音(“贪婪”匹配 - 即尽可能多)(^[^aeiou]+) = 1 个或多个非元音锚定开始,作为组 1 捕获(.*) 任何其他字符,作为第 2 组捕获以及替换:
$2第二组$1第一组ay 文字“ay”【讨论】: