如何测试字符串是否包含列表中的项目?

时间:2017-07-06 09:31:20

标签: c#

说我有一个字符串:

var s = "z_cams_c_ecmf_20160704120000_prod_fc_ml_012_go3.nc";

并说我有一个字符串列表:

var items = new List<string>(){"fc", "an"};

如何测试s是否包含fcan

我不想循环items并测试每个案例,因为我正在寻找多种条件。例如,我还想测试s是否包含&#34; prod&#34;或&#34; rean&#34;或&#34;测试&#34;。

我想我可以将所有条件(fcanprodreantest等等 - 放入单个列表中并且迭代它们中的每一个,但它感觉不对,因为用户必须提供JSON,该JSON被解除分解为具有各种条件匹配列表的对象。

我想我正在寻找像here那样的答案,但我不知道Mdd LH是什么......

1 个答案:

答案 0 :(得分:3)

LINQ也使用循环,但你没有看到它们; - )

bool contains = items.Any(s.Contains);

如果你想忽略大小写(大写或小写字母):

contains = items.Any(i => s.IndexOf(i, StringComparison.InvariantCultureIgnoreCase) >= 0);