在字符串数组中查找特定字符串

时间:2014-10-13 11:55:06

标签: c#

我这样想:

int Quantity = Array.FindIndex(lineValues, x => x.Equals("Order 1 QTY"));

传递相同的字符串。但即使字符串之间没有空格,我也希望它能够通过。

我希望它与两个字符串一起传递:

  

“订单1 QTY”
  “Order1QTY”

我想检查一下不包括空格的字符串。

3 个答案:

答案 0 :(得分:3)

你可以这样做:

string y = "Order 1 QTY";
int Quantity = Array.FindIndex(lineValues, x => x.Equals(y) || x.Equals(y.Replace(" ","")));

答案 1 :(得分:3)

一种方法是使用正则表达式:

var regex = string.Format("Order\s*{0}\s*QTY", 1);
int Quantity = Array.FindIndex(lineValues, x => Regex.Matches(x, regex));

我使用的正则表达式将是这样的:

Order\s*1\s*QTY

Regular expression visualization

Debuggex Demo

答案 2 :(得分:0)

或者,从测试字符串中删除所有空格,然后将其与“Order1Qty”进行比较。

int Quantity = Array.FindIndex(lineValues, 
    x => x.Replace(" ", "").Equals("Order1QTY"));