java - 如何创建在每个元音后面添加破折号的方法?

标签 java string

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 - 如何创建在每个元音后面添加破折号的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52632692/

相关文章:

string - 如何使用 Dart 将字符串解析为数字?

c# - 结合两个整数来创建一个唯一的数字

c - 字符段错误

java - 用于多线程应用程序的 HTTP 客户端

java - Vaadin:使用图像作为按钮

c - 为什么我没有得到想要的输出?

string - 查找字符串中最后一次出现的 char

java - 二叉树的高度 StackOverflow 异常

java - 使用 Optional 避免 NPE

java - 向上转换时捕获错误的异常