这就是我的目标。我有一个读取html的爬虫,我想知道它什么时候不包含两个字符串。例如。
string firstString = "pineapple"
string secondString = "mango"
string compareString = "The wheels on the bus go round and round"
所以基本上我想知道第一个字符串和第二个字符串何时不在compareString中。
感谢您的帮助!
你应该把所有的单词都放到某种Collection或List中,然后像这样调用它:
var searchFor = new List<string>();
searchFor.Add("pineapple");
searchFor.Add("mango");
bool containsAnySearchString = searchFor.Any(word => compareString.Contains(word));
如果您需要进行案例或文化独立搜索,您应该像这样调用它:
bool containsAnySearchString =
searchFor.Any(word => compareString.IndexOf
(word, StringComparison.InvariantCultureIgnoreCase >= 0);
这应该为你做的伎俩。
一句话:
if (!string.Contains("One"))
两个字:
if (!(string.Contains("One") && string.Contains("Two")))
所以你可以利用短路:
bool containsBoth = compareString.Contains(firstString) &&
compareString.Contains(secondString);
使用Enumerable.Contains函数:
var result =
!(compareString.Contains(firstString) || compareString.Contains(secondString));
bool isFirst = compareString.Contains(firstString);
bool isSecond = compareString.Contains(secondString );
如果你想区分Mango
和Mangosteen
,请选择正则表达式。
var reg = new Regex(@"\b(pineapple|mango)\b",
RegexOptions.IgnoreCase | RegexOptions.Multiline);
if (!reg.Match(compareString).Success)
...