如何计算文本文件(C#)中句子中的元音

时间:2013-10-04 05:08:41

标签: c# counting

我必须创建一个小程序,我必须提示用户输入习语并将它们存储到文本文件中。之后,我必须打开文本文件并计算每个习语中的单个元音的数量(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();

3 个答案:

答案 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;
   }