用Java实现ubbi dubbi

Ubbi Dubbi 版本的规则是: 任何元音序列(a, e, i, o, u)在它们之前都添加了音节 “ub”。 任何出现的“y”都视为辅音,任何其他字母或标点符号都将被保持不变。因此,单词“you”变成了“yubou”,而单词“seeking” 变成了“subeekubing”。如何实现该算法。

我之前写过一个 可以一起讨论讨论

public class UbbiDubbiTranslator {
    private static final String VOWELS = "aeiou";

    /**
     * 将单词按照Ubbi Dubbi规则进行翻译
     *
     * @param word 要翻译的单词
     * @return 翻译后的结果
     */
    public static String translate(String word) {
        StringBuilder translatedWord = new StringBuilder();
        for (char c : word.toCharArray()) {
            if (Character.isLetter(c)) { //检查字符是否是一个字母
                if (VOWELS.contains(Character.toString(Character.toLowerCase(c)))) {
                    //如果字符是元音,将 "ub" 添加到翻译后的单词中
                    translatedWord.append("ub");
                }
                //添加原始字符到翻译后的单词中
                translatedWord.append(c);
            } else {
                //对于辅音或其他字符(例如标点符号),直接添加到翻译后的单词中
                translatedWord.append(c);
            }
        }
        return translatedWord.toString();
    }

    public static void main(String[] args) {
        String word = "seeking";
        String translatedWord = translate(word);
        System.out.println(translatedWord);  //打印输出subeekubing
        word = "you";
        translatedWord = translate(word);
        System.out.println(translatedWord);  //打印输出yubou
    }
}