我必须创建一个小程序,我必须提示用户输入习语并将它们存储到文本文件中。之后,我必须打开文本文件并计算每个习语中的单个元音的数量(a,e,i,o,u)并将其显示给用户。
这是我到目前为止创建的代码:
int numberOfIdioms;
string fileName = "idioms.txt";
int countA = 0, countE = 0, countI = 0, countO = 0, countU = 0;
Console.Title = "String Functions";
Console.Write("Please enter number of idioms: ");
numberOfIdioms = int.Parse(Console.ReadLine());
string[] idioms = new string[numberOfIdioms];
Console.WriteLine();
for (int aa = 0; aa < idioms.Length; aa++)
{
Console.Write("Enter idiom {0}: ", aa + 1);
idioms[aa] = Console.ReadLine();
}
StreamWriter myIdiomsFile = new StreamWriter(fileName);
for (int a = 0; a < numberOfIdioms; a++)
{
myIdiomsFile.WriteLine("{0}", idioms[a]);
}
myIdiomsFile.Close();
答案 0 :(得分:4)
您可以使用以下代码获取字符串的元音计数:
int vowelCount = System.Text.RegularExpressions.Regex.Matches(input, "[aeoiu]").Count;
将input
替换为您的字符串变量。
如果您想要计算,无论大小写(上/下),您都可以使用:
int vowelCount = System.Text.RegularExpressions.Regex.Matches(input.ToLower(), "[aeoiu]").Count;
答案 1 :(得分:1)
string Target =“我的名字和你的名字未知我名字和你的名字未知”;
列表模式=新列表{'a','e','i','o','u','A','E','I','O','U'};
int t = Target.Count(x =&gt; pattern.Contains(x));
答案 2 :(得分:0)
我们可以使用正则表达式来匹配每个idom中的元音。 您可以调用下面提到的函数来获取元音计数。
工作代码段:
//below function will return the count of vowels in each idoms(input)
public static int GetVowelCount(string idoms)
{
string pattern = @"[aeiouAEIOU]+"; //regular expression to match vowels
Regex rgx = new Regex(pattern);
return rgx.Matches(idoms).Count;
}