java - 如何创建一个在每个元音后添加破折号的方法?
问题描述
static char[] vowelArray = {'e', 'i', 'u', 'o', 'a'};
public static String insertDashAfterWovel(String input){
char[] tmp=input.toCharArray();
for (int i = 0; i < tmp.length; i++) {
if (tmp[i]== vowelArray[i]){
tmp[i]+='-';
return tmp.toString();
}
}
return "";
我做的方法不行。如何使它在每个检测到的元音后添加一个破折号并返回如下示例中的字符串?我为这个方法做了一个测试类来验证我是否正确。
“角斗士”应该返回“gla-di-a-to-r”
解决方案
您可以像这样使用正则表达式:
String str = "gladiator"; // your input string
str = str.replaceAll("([aeiou])", "$1-");
System.out.println(str);
推荐阅读
- java - 一个方法可以调用它自己的类吗?
- laravel - Laravel 如何将两个对象结果附加到一个集合对象
- haskell - Haskell - 集合的幂集
- python - cv2 数字图像后处理
- sql-like - Laravel 分配 LIKE 查询不给出结果
- rust - 如何使用 Rust chrono 获得 1 天的持续时间?
- google-cloud-platform - 在 google flex 引擎上部署 Django 频道应用程序
- powershell - 带有脚本块和正则表达式替换的奇怪的 powershell 行为
- flutter - 如何清除 Flutter 中的导航堆栈
- laravel - Laravel 属性未按预期工作