按范围筛选字符串

本文关键字:字符串 筛选 范围 | 更新日期: 2023-09-27 17:57:17

如何按数字范围过滤字符串。

例如:0001 =

其中 x 是字符串:"AAA-SomeText-0005"

0001 - 0010 范围

按范围筛选字符串

您可以使用以下代码片段。让我们stringList是具有输入值的字符串列表:

List<string> stringList = new List<string>()
{
"AAA-SomeText-00015",
"AAA-SomeText-00025",
"AAA-SomeText-00019",
"AAA-SomeText-0005",
"AAA-SomeText-0006",
"AAA-SomeText-0007",
"AAA-SomeText-0008",
"AAA-SomeText-0009",
"AAA-SomeText-00010",
"AAA-SomeText-00011",
"AAA-SomeText-00012",
"AAA-SomeText-00013"
};

然后,您将使用以下代码获取筛选列表:

int minRange = 1;
int maxRange = 10;
var subList = stringList.Select(x => new { index = int.Parse(x.Substring(x.LastIndexOf("-") + 1)), value = x })
                        .Where(x => x.index > minRange && x.index < maxRange)
                        .Select(i=>i.value).ToList();

试试这个,

List<string> stringList = new List<string>()
{
   "AAA-SomeText-00015",
   "AAA-SomeText-00025",
   "AAA-SomeText-00019",
   "AAA-SomeText-0005",
   "AAA-SomeText-0006",
   "AAA-SomeText-0007",
   "AAA-SomeText-0008",
   "AAA-SomeText-0009",
   "AAA-SomeText-00010",
   "AAA-SomeText-00011",
   "AAA-SomeText-00012",
   "AAA-SomeText-00013"
};
foreach (string text in stringList)
{
      if (int.Parse(text.Split('-')[2]) >= 0001 && int.Parse(text.Split('-')[2]) <= 0010)
      {
            // find filtered numbers
      } 
}

将其除以-并取最后一个值并进行比较。下面是它的片段。

string strRange = "AAA-SomeText-0005";
int val = int.Parse(strRange.Split('-')[2]); //in val you get the last number.