c# - Ubbi Dubbi 如何在每个元音前加ub?
问题描述
Console.Write("Enter word: ");
string word = Console.ReadLine();
var loc = word.IndexOfAny(new char[] { 'a', 'e', 'i', 'o', 'u' });
string word1 = loc >= 0 ? word.Insert(loc, "ub") : word;
Console.WriteLine(word1);
我得到hubello
,但我想要hubellubo
。
解决方案
您只需对字符串进行一次修改 - 无论您首先检测到哪个元音。IndexOfAny
仅返回找到的第一个匹配项。
相反,您需要找到输入字符串中的所有元音。您可以使用循环执行此操作,但使用正则表达式替换可能更容易执行此操作。
var input = "hello";
var pattern = "([aeiou])";
var replaced = Regex.Replace(input, pattern, "ub$1");
Console.WriteLine(replaced);
需要捕获组将找到的元音重新替换回替换中。
推荐阅读
- haskell - cabal 文件和 repl 中的不同警告设置
- jmeter - Jmeter - 从变量中一一传递参数
- highcharts - Highcharts:导出XLS(excel)后有两列,我想添加另一列显示百分比
- mysql - MSSQL 从一个表中选择列值到另一个表
- r - 基于另一个变量的重复值的变量的总和
- chatbot - 如何在我的个人聊天机器人与 Microsoft 团队之间传输数据
- curl - Solr curl ExtractOnly 用于 Pdf 文件
- ibm-mobilefirst - IBM Mobilefirst 7.1 从其适配器转移呼叫的性能问题
- ajax - 具有默认设置的 mvc 中的 ajax
- python - 具有重复模式以及排除模式的正则表达式