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

问题描述 投票:1回答:3

我必须创建一个小程序,在这个程序中,我必须提示用户输入成语,并将这些成语存储到一个文本文件中。然后,我必须打开文本文件,计算每个成语中的元音数量(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();
c# counting
3个回答
4
投票

你可以使用下面的代码来获取一个字符串的元音数。

int vowelCount = System.Text.RegularExpressions.Regex.Matches(input, "[aeoiu]").Count;

替换 input 与你的字符串变量。

如果你想不分大小写(大写)地计数,你可以使用。

int vowelCount = System.Text.RegularExpressions.Regex.Matches(input.ToLower(), "[aeoiu]").Count;

1
投票

string Target = "my name and your name unknown MY NAME AND YOUR NAME UNKNOWN";

List pattern = new List { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' };

int t = Target.Count(x => pattern.Contains(x))。


0
投票

我们可以使用正则表达式来匹配每个idoms中的元音。你可以调用下面提到的函数来获取元音数。

工作代码片段。

  //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;
   }
© www.soinside.com 2019 - 2024. All rights reserved.