我想使用c#检查字符串值是否包含字符串数组中的单词。例如,
string stringToCheck = "text1text2text3";
string[] stringArray = { "text1", "someothertext", etc... };
if(stringToCheck.contains stringArray) //one of the items?
{
}
我如何检查字符串值'stringToCheck'是否包含数组中的一个词?
我想使用c#检查字符串值是否包含字符串数组中的单词。例如,
string stringToCheck = "text1text2text3";
string[] stringArray = { "text1", "someothertext", etc... };
if(stringToCheck.contains stringArray) //one of the items?
{
}
我如何检查字符串值'stringToCheck'是否包含数组中的一个词?
当前回答
试试这个。没有任何循环的需要。
string stringToCheck = "text1";
List<string> stringList = new List<string>() { "text1", "someothertext", "etc.." };
if (stringList.Exists(o => stringToCheck.Contains(o)))
{
}
其他回答
⚠️ Note: this does not answer the question asked |
---|
The question asked is "how can I check if a sentence contains any word from a list of words?" |
This answer checks if a list of words contains one particular word |
试试这个:
不需要使用LINQ
if (Array.IndexOf(array, Value) >= 0)
{
//Your stuff goes here
}
你也可以像Anton Gogolev建议的那样,检查stringArray1中的任何项是否与stringArray2中的任何项匹配:
using System.Linq;
if(stringArray1.Any(stringArray2.Contains))
同样,stringArray1中的所有项都匹配stringArray2中的所有项:
using System.Linq;
if(stringArray1.All(stringArray2.Contains))
⚠️ Note: this does not answer the question asked |
---|
The question asked is "how can I check if a sentence contains any word from a list of words?" |
This answer checks if a list of words contains one particular word |
只需使用LINQ方法:
stringArray.Contains(stringToCheck)
您也可以尝试这个解决方案。
string[] nonSupportedExt = { ".3gp", ".avi", ".opus", ".wma", ".wav", ".m4a", ".ac3", ".aac", ".aiff" };
bool valid = Array.Exists(nonSupportedExt,E => E == ".Aac".ToLower());
一个不需要任何LINQ的简单解决方案:
String.Join(",", array).Contains(Value + ",");