按范围筛选字符串
本文关键字:字符串 筛选 范围 | 更新日期: 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.