C#字符串不包含可能吗?

21 c# string

这就是我的目标.我有一个读取html的爬虫,我想知道它什么时候不包含两个字符串.例如.

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

string compareString = "The wheels on the bus go round and round"
Run Code Online (Sandbox Code Playgroud)

所以基本上我想知道第一个字符串和第二个字符串何时不在compareString中.

感谢您的帮助!

Woo*_*Moo 70

这应该为你做的伎俩.

一句话:

if (!string.Contains("One"))
Run Code Online (Sandbox Code Playgroud)

两个字:

if (!(string.Contains("One") && string.Contains("Two")))
Run Code Online (Sandbox Code Playgroud)

  • 从该陈述中提取信息是不是微不足道的? (7认同)
  • 这似乎是最好的答案+1 (2认同)

jas*_*son 9

所以你可以利用短路:

bool containsBoth = compareString.Contains(firstString) && 
                    compareString.Contains(secondString);
Run Code Online (Sandbox Code Playgroud)


Oli*_*ver 7

你应该把所有的单词都放到某种Collection或List中,然后像这样调用它:

var searchFor = new List<string>();
searchFor.Add("pineapple");
searchFor.Add("mango");

bool containsAnySearchString = searchFor.Any(word => compareString.Contains(word));
Run Code Online (Sandbox Code Playgroud)

如果您需要进行案例或文化独立搜索,您应该像这样调用它:

bool containsAnySearchString = 
   searchFor.Any(word => compareString.IndexOf
     (word, StringComparison.InvariantCultureIgnoreCase >= 0);
Run Code Online (Sandbox Code Playgroud)


Akr*_*hda 5

使用Enumerable.Contains函数:

var result =
    !(compareString.Contains(firstString) || compareString.Contains(secondString));
Run Code Online (Sandbox Code Playgroud)