首页 > 解决方案 > 如何创建一个在每个元音后添加破折号的方法?

问题描述

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”

标签: javastring

解决方案


您可以像这样使用正则表达式:

String str = "gladiator";  // your input string
str = str.replaceAll("([aeiou])", "$1-");
System.out.println(str);

推荐阅读