Строка С# не может быть возможной?
Это то, что я продолжаю. У меня есть сканер, который читает html, и я хочу знать, когда он не содержит две строки. Например.
string firstString = "pineapple"
string secondString = "mango"
string compareString = "The wheels on the bus go round and round"
Поэтому в основном я хочу знать, когда первая строка и вторая строка не находятся в compareString.
Спасибо за помощь!
Ответы
Ответ 1
Вы должны поместить все свои слова в какую-то коллекцию или список, а затем вызвать ее так:
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);
Ответ 2
Это должно сделать трюк для вас.
Для одного слова:
if (!string.Contains("One"))
Для двух слов:
if (!(string.Contains("One") && string.Contains("Two")))
Ответ 3
Итак, вы можете использовать короткое замыкание:
bool containsBoth = compareString.Contains(firstString) &&
compareString.Contains(secondString);
Ответ 4
Используйте Enumerable.Contains:
var result =
!(compareString.Contains(firstString) || compareString.Contains(secondString));
Ответ 5
bool isFirst = compareString.Contains(firstString);
bool isSecond = compareString.Contains(secondString );
Ответ 6
Опция с регулярным выражением, если вы хотите различать Mango
и Mangosteen
.
var reg = new Regex(@"\b(pineapple|mango)\b",
RegexOptions.IgnoreCase | RegexOptions.Multiline);
if (!reg.Match(compareString).Success)
...
Ответ 7
string tempString = "FordMustang";
if(tempString.Contains("Ford")==false){}
Еще один простой способ.