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

本文关键字:计算 句子 文本 文件 | 更新日期: 2023-09-27 18:33:47

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

可以使用以下代码获取字符串的元音计数:

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

input替换为字符串变量。

如果要不考虑大小写(大写/小写)进行计数,可以使用:

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

字符串 Target ="我的名字和你的名字未知 我的名字和你的名字未知";

列表模式 = 新列表 {

'a', 'e', 'i', 'o', 'u', 'a', 'e', 'i', 'o', 'u' };

int t = Target.Count(x => 模式。包含(x));

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

工作代码片段:

  //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;
   }