You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#筛选数组中含2-4个e/E且不含r的城镇名称

解决方案

核心筛选逻辑

要找出符合要求的城镇名称,需同时满足两个判断条件:

  1. 名称中(不区分大小写)包含 2、3或4个 字母e/E
  2. 名称中(不区分大小写)完全不含字母r/R

代码实现

以下提供两种C#实现方式,可根据自身需求选择:

方式1:LINQ查询(简洁高效)

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        // 替换为你已定义的50个城镇数组
        string[] city = new string[50] { "New York", "Seattle", "Boston", "Denver", "Erie", "Memphis", "Keene", "Greenville" };

        // 筛选符合条件的城镇
        var filteredCities = city.Where(cityName => 
            // 统计e/E的数量,判断是否在2-4区间
            cityName.Count(ch => char.ToLower(ch) == 'e') is >=2 and <=4 
            // 检查是否不含r/R
            && !cityName.Any(ch => char.ToLower(ch) == 'r')
        );

        // 输出结果
        foreach (var name in filteredCities)
        {
            Console.WriteLine(name);
        }
    }
}

方式2:循环遍历(直观易懂)

using System;

class Program
{
    static void Main()
    {
        string[] city = new string[50] { "New York", "Seattle", "Boston", "Denver", "Erie", "Memphis", "Keene", "Greenville" };

        foreach (string cityName in city)
        {
            int eCount = 0;
            bool hasR = false;

            // 逐个字符检查
            foreach (char ch in cityName)
            {
                char lowerCh = char.ToLower(ch);
                if (lowerCh == 'e')
                {
                    eCount++;
                }
                else if (lowerCh == 'r')
                {
                    hasR = true;
                    // 发现r后直接终止当前城镇的检查
                    break;
                }
            }

            // 符合条件则输出
            if (!hasR && eCount >= 2 && eCount <= 4)
            {
                Console.WriteLine(cityName);
            }
        }
    }
}

关键细节说明

  • char.ToLower(ch):统一转换为小写,避免大小写差异导致的判断错误
  • 循环方式中,一旦发现r就提前终止检查,减少不必要的计算
  • LINQ方式利用Where、Count、Any方法简化代码,适合有基础的开发者快速实现

内容的提问来源于stack exchange,提问作者Sevinch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:55:20