我需要检查数组中的字符串模式是否包含在字符串中。 我使用以下代码,但它匹配数组中包含的确切字符串而不是模式,因此以下将失败。 我怎样才能做到这一点?
String[] stringArrayToBlock = { "#", "/", "string1:", "string2" };
String SearchString = "String1:sdfsfsdf";
if (stringArrayToBlock.Contains(SearchString.Trim().ToLower()))
{
//Do work
}
答案 0 :(得分:3)
我想你应该这样做,反之亦然。此外,如果您对LINQ持开放态度,Enumerable.Any Method非常方便:
string[] stringArrayToBlock = { "#", "/", "string1:", "string2" };
string SearchString = "String1:sdfsfsdf";
string lowerCaseString = SearchString.Trim().ToLower();
if (stringArrayToBlock.Any(s => lowerCaseString.Contains(s)))
{
//Do work
}
答案 1 :(得分:3)
使用LINQ Any()
方法确定数组中的任何元素是否满足条件。
此处使用的Contains
方法是string
,而不是Array
。
String[] stringArrayToBlock = { "#", "/", "string1:", "string2" };
String SearchString = "String1:sdfsfsdf";
if (stringArrayToBlock.Any(s => SearchString.Trim().ToLower().Contains(s)))
{
//Do work
}