Строка С# не может быть возможной?

Это то, что я продолжаю. У меня есть сканер, который читает 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){}

Еще один простой способ.