如何检查字符串是否包含列表值,如果包含但包含其他值,则单独检查

nik*_*rio 5 c# regex string conditional-statements

我试图弄清楚如何定义字符串是否包含列表值,如果包含但是包含其他值.

如果我有输入字符串:

string inputString = "it was one";
Run Code Online (Sandbox Code Playgroud)

我想找到条件的具体值:

var numbList = new List<string> {"zero", "one", "two"}; 

if (!numbList.Any(inputString.Contains)) 
{
     Console.WriteLine("string does not contains list value");                                           
}
else
{
     Console.WriteLine("string contains list value"); 
}
Run Code Online (Sandbox Code Playgroud)

但是如果我想知道第三个条件,如果字符串包含值但是还包含其他单词,那么不确定什么是正确的方法.

对于字符串:inputString = "it was one";期望的结果应该是:

 Console.WriteLine("string contains list value and other words"); 
Run Code Online (Sandbox Code Playgroud)

对于字符串: inputString = "one";

 Console.WriteLine("string contains list value"); 
Run Code Online (Sandbox Code Playgroud)

并为: inputString = "it was";

 Console.WriteLine( "string does not contains list value"); 
Run Code Online (Sandbox Code Playgroud)

suj*_*lil 4

我想你正在寻找这样的东西:

if (inputString.Split(new string[]{" "},StringSplitOptions.RemoveEmptyEntries).All(x => numbList.Contains(x)))
{
    opDisplay="string contains list value";
}
else if (numbList.Any(x => inputString.Contains(x)))
{
    opDisplay = "string contains list value and other words";
}
else
{
    opDisplay = "string does not contains list value";
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里尝试一个例子