首页 > 解决方案 > 除了单词开头的元音之外,我如何从字符串中排除元音?

问题描述

这是一个家庭作业问题,所以我想要一些指导。这是我的代码片段。对于我的作业,我需要它排除所有元音,除了单词开头的元音。例如“在安静区域”会打印“in qt ar” 我的解决方案不起作用。

public static String modify(String ad) {
    String answer = ""; // variable for the string returned by this method

        if (isVowel(ad.charAt(0))) {
            answer += ad.charAt(0);
        }
        else {
            answer += ad.charAt(0);
        }

    for (int i = 1; i <= ad.length(); i++) {

        if (isVowel(ad.charAt(i)) && ad.charAt(i - 1) == ' ') {
            answer += ad.charAt(i);
        }

        if (isVowel(ad.charAt(i))) {
            continue;
        }
        answer += ad.charAt(i);
    }
    return answer;

}

标签: java

解决方案


我会在整个字符串上使用正则表达式替换,不包括第一个字符:

String input = "in quiet area";
input = input.substring(0, 1) + input.substring(1).replaceAll("(?i)[aeiou]+", "");
System.out.println(input);

这是对你所说的字面解释:

我需要它来排除所有元音,除了单词开头的元音


推荐阅读