Using C# to check if string contains a string in string array
I want to use C# to check if a string value contains a word in a string array. For example,
string stringToCheck = "text1text2text3";
string[] stringArray = { "text1", "someothertext", etc... };
if(stringToCheck.contains stringArray) //one of the items?
{
}
How can I check if the string value for 'stringToCheck' contains a word in the array?
Solution 1:
Here's how:
if(stringArray.Any(stringToCheck.Contains))
/* or a bit longer: (stringArray.Any(s => stringToCheck.Contains(s))) */
This checks if stringToCheck
contains any one of substrings from stringArray
. If you want to ensure that it contains all the substrings, change Any
to All
:
if(stringArray.All(stringToCheck.Contains))
Solution 2:
here is how you can do it:
string stringToCheck = "text1";
string[] stringArray = { "text1", "testtest", "test1test2", "test2text1" };
foreach (string x in stringArray)
{
if (stringToCheck.Contains(x))
{
// Process...
}
}
UPDATE: May be you are looking for a better solution.. refer to @Anton Gogolev's answer below which makes use of LINQ.
Solution 3:
Try this:
No need to use LINQ
if (Array.IndexOf(array, Value) >= 0)
{
//Your stuff goes here
}