C # строка не содержит возможности? - PullRequest
20 голосов
/ 30 мая 2011

Это то, что у меня происходит.У меня есть сканер, который читает HTML, и я хочу знать, когда он не содержит две строки.Например.

string firstString = "pineapple"
string secondString = "mango"

string compareString = "The wheels on the bus go round and round"

Так что в основном я хочу знать, когда первая строка и вторая строка не находятся в CompareString.

Спасибо за помощь!

Ответы [ 6 ]

64 голосов
/ 30 мая 2011

Это должно помочь вам.

За одно слово:

if (!string.Contains("One"))

Для двух слов:

if (!(string.Contains("One") && string.Contains("Two")))
9 голосов
/ 30 мая 2011

Таким образом, вы можете использовать короткое замыкание:

bool containsBoth = compareString.Contains(firstString) && 
                    compareString.Contains(secondString);
7 голосов
/ 31 мая 2011

Вы должны поместить все свои слова в какую-то коллекцию или список, а затем назвать это так:

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);
5 голосов
/ 30 мая 2011

Использование Enumerable.Contains функция:

var result =
    !(compareString.Contains(firstString) || compareString.Contains(secondString));
4 голосов
/ 30 мая 2011
bool isFirst = compareString.Contains(firstString);
bool isSecond = compareString.Contains(secondString );
3 голосов
/ 30 мая 2011

Опция с регулярным выражением, если вы хотите различать Mango и Mangosteen.

var reg = new Regex(@"\b(pineapple|mango)\b", 
                       RegexOptions.IgnoreCase | RegexOptions.Multiline);
   if (!reg.Match(compareString).Success)
      ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...