查找字符串中特定字母的所有单词

1 c# arrays string letter find

我需要找出如何输出包含的 所有单词"a".我有一个string所有月份,并希望输出包含 "a"控制台的那些.这是我到目前为止所拥有的

string[] Månedsdage = { 
  "Januar", "Februar", "Marts", 
  "April", "Maj", "Juni", 
  "juli", "August", "September", 
  "Oktober", "November", "December", 
  "Bichat" };

for (int i = 0; i < Månedsdage.Length; i++)
{
    for (int j = 0; j < Månedsdage[i].Length; j++)
    {
        if (Månedsdage[i].Substring(j,1) == "a")
        {
            Console.WriteLine("Alle måneder med A: ");
            Console.WriteLine(Månedsdage[j]);
            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Pra*_*kar 6

那这个呢

string[] result = Månedsdage.Where(x=> x.ToLower().Contains('a')).ToArray();
Run Code Online (Sandbox Code Playgroud)

.Contains():要获取包含字母的所有单词,a我们使用字符串方法.此扩展方法检查作为参数传递的子字符串是否存在于给定字符串中.

Where():要对字符串数组中的每个元素应用相同的条件,我们使用Linq扩展方法.

ToLower():此方法用于以小写形式生成字符串的所有字符.所以它不会错过'A'和'a'.ToLower()将包括April在结果数组中.如果您不想April加入阵列,请不要使用ToLower()

POC:.net小提琴

输出:

Januar
Februar
Marts
April  /*ToLower() ;)*/
Maj
August
Bichat
Run Code Online (Sandbox Code Playgroud)