我想检查一个字符串是否包含C#中任意顺序的单词.我怎么能用一个简单的if语句来做到这一点.请参阅以下示例:
string a = "PT. DOWELL ANADRILL SCHLUMBERGER";
string b = "ANADRILL DOWELL";
if( a.Contains( b ) ) {
MessageBox.Show("true");
} else {
// the if always evaluates to false
MessageBox.Show("false");
}
Run Code Online (Sandbox Code Playgroud)
如果你想知道当时是否a包含任何单词b
if(b.Split().Any(x => a.Contains(x)))
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要a包含所有单词b
if(b.Split().All(x => a.Contains(x)))
Run Code Online (Sandbox Code Playgroud)
请注意,既不确保单词中的单词b不是a类似的子单词
a = "Once before";
b = "be";
Run Code Online (Sandbox Code Playgroud)
此外,这只会将b空格中的单词分开,所以如果有想要忽略的标点符号就不会起作用
a = "I like turtles";
b = "like.";
Run Code Online (Sandbox Code Playgroud)