我尝试编写接受用户输入的应用程序,然后分别用a e i o u
替换文本中的元音1 2 3 4 5
。
例如:
输入文字:预订
输出: B44k
oo
已替换为数字。
任何帮助??? 最好是:C#或VB.NET
答案 0 :(得分:-1)
好吧,我无法想到向你解释这个问题的另一个尝试,而不是向你展示解决方案:
inputString.Replace("a","1").Replace("e","2").Replace("i","3").Replace("o","4").Replace("u","5");
你也可以把它解决得更漂亮一点:
var vowels = new List<char> {'a', 'e', 'i', 'o', 'u'};
string.Join("", inputString.Select(c =>
{
var i = vowels.IndexOf(c);
return i == -1 ? c.ToString() : (i + 1).ToString();
}));
第一个只是替换每个元音,第二个元素获取元音中当前字符的索引(如果它不存在于元音中则为-1),如果它存在则添加1对它(我不知道为什么你没有开始用0计数),否则就是正常的角色。
您可以详细了解替换here。
或者你也可以使用这样的字典:
private static string ReplaceVowels (this string toReplace)
{
var vowels = new Dictionary<char, char> {{'a', '1'}, {'e', '2'}, {'i', '3'}, {'o', '4'}, {'u', '5'}};
return string.Join("", toReplace.Select (c => vowels.ContainsKey (c) ? vowels [c] : c));
}