繁体   English   中英

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

[英]How to test if a string contains an item within a list?

说我有一个字符串:

var s = "z_cams_c_ecmf_20160704120000_prod_fc_ml_012_go3.nc";

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

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

如何测试s包含fcan

我不想遍历items并测试每个案例,因为我正在寻找多个条件。 例如,我还将要测试s包含“ prod”或“ rean”或“ test”。

我想我可以将所有条件( fcanprodreantest等)放入单个列表并遍历每个条件,但是由于用户必须提供JSON,因此感觉不对。反序列化为具有各种条件匹配列表的对象。

我想我正在寻找类似此处所示答案的内容,但是我不知道Mdd LH是什么...

LINQ也使用循环,但是您看不到它们;-)

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM