You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubbi Dubbi编码C#实现:如何在每个元音前正确添加ub前缀

问题根因

现有代码仅调用一次IndexOfAny方法,只能定位到字符串中第一个出现的元音位置,仅执行一次插入操作,所以只能处理单个元音,无法覆盖单词中所有元音字母。

修正代码

提供两种实现方式:

方式1:遍历字符拼接(逻辑直观,性能更稳定)

Console.Write("Enter word: ");
string word = Console.ReadLine();
HashSet<char> vowels = new HashSet<char> {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
StringBuilder resultBuilder = new StringBuilder();
foreach (char c in word)
{
    // 遇到元音先加ub前缀,再加原字符
    if (vowels.Contains(c))
    {
        resultBuilder.Append("ub");
    }
    resultBuilder.Append(c);
}
Console.WriteLine(resultBuilder.ToString());

方式2:正则替换(代码更简洁)

Console.Write("Enter word: ");
string word = Console.ReadLine();
// 匹配所有元音字符,替换为ub加原匹配字符
string result = System.Text.RegularExpressions.Regex.Replace(word, "[aeiouAEIOU]", "ub$0");
Console.WriteLine(result);

两种方式输入hello时都会输出预期的hubellubo。

内容的提问来源于stack exchange,提问作者Aleksandar Yordanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:36:01