如何确定一个字符串是否包含另一个字符串中的单词

Did*_*pea 1 c#

我想检查一个字符串是否包含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)

juh*_*arr 7

如果你想知道当时是否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)