查找字符串startwith(正则表达式)

时间:2018-08-25 09:06:08

标签: c# regex

我正在尝试查找从E到M(E-M)之间的列表中的第一个字符串;

startIndexOfMiddleRange = list.IndexOf(list.FirstOrDefault(x => x.Name.StartsWith(())))

我应该采取的模式或方式是什么?

感谢帮手

1 个答案:

答案 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'));

假设listList<T>,您可以进一步简化它:

startIndexOfMiddleRange 
    = list.FindIndex(x => x.Name.Length > 0 && x.Name[0] >= 'E' && x.Name[0] <= 'M');