我正在尝试查找从E到M(E-M)之间的列表中的第一个字符串;
startIndexOfMiddleRange = list.IndexOf(list.FirstOrDefault(x => x.Name.StartsWith(())))
我应该采取的模式或方式是什么?
感谢帮手
答案 0 :(得分:0)
正则表达式解决方案:
^[E-M]
-此模式应该有效。
^
的意思是“开头为” [E-M]
将范围限制为E-M,并且由于您没有在其上使用任何修饰符,因此只会选择一个字符。话虽如此,使用正则表达式似乎很简单:
startIndexOfMiddleRange = list.IndexOf(list.FirstOrDefault(x => x.Name.Length > 0 && x.Name[0] >= 'E' && x.Name[0] <= 'M'));
假设list
是List<T>
,您可以进一步简化它:
startIndexOfMiddleRange
= list.FindIndex(x => x.Name.Length > 0 && x.Name[0] >= 'E' && x.Name[0] <= 'M');