C #을 사용하여 문자열 값에 문자열 배열의 단어가 포함되어 있는지 확인하고 싶습니다. 예를 들어
string stringToCheck = "text1text2text3";
string[] stringArray = { "text1", "someothertext", etc... };
if(stringToCheck.contains stringArray) //one of the items?
{
}
‘stringToCheck’의 문자열 값에 배열에 단어가 포함되어 있는지 어떻게 확인할 수 있습니까?
답변
당신이 그것을 할 수있는 방법은 다음과 같습니다
string stringToCheck = "text1";
string[] stringArray = { "text1", "testtest", "test1test2", "test2text1" };
foreach (string x in stringArray)
{
if (stringToCheck.Contains(x))
{
// Process...
}
}
업데이트 : 더 나은 솔루션을 찾고 있습니까? LINQ를 사용하는 @Anton Gogolev의 답변을 아래에서 참조하십시오.
답변
방법은 다음과 같습니다.
if(stringArray.Any(stringToCheck.Contains))
/* or a bit longer: (stringArray.Any(s => stringToCheck.Contains(s))) */
stringToCheck
의 하위 문자열 중 하나가 포함되어 있는지 확인합니다 stringArray
. 모든 하위 문자열이 포함되도록 Any
하려면 All
다음으로 변경 하십시오 .
if(stringArray.All(stringToCheck.Contains))
답변
이 시도:
LINQ를 사용할 필요가 없습니다
if (Array.IndexOf(array, Value) >= 0)
{
//Your stuff goes here
}
답변
linq 방법을 사용하십시오.
stringArray.Contains(stringToCheck)
답변
가장 쉽고 샘플 방식.
bool bol=Array.Exists(stringarray,E => E == stringtocheck);
답변
string strName = "vernie";
string[] strNamesArray = { "roger", "vernie", "joel" };
if (strNamesArray.Any(x => x == strName))
{
// do some action here if true...
}
답변
아마도 이런 것 :
string stringToCheck = "text1text2text3";
string[] stringArray = new string[] { "text1" };
if (Array.Exists<string>(stringArray, (Predicate<string>)delegate(string s) {
return stringToCheck.IndexOf(s, StringComparison.OrdinalIgnoreCase) > -1; })) {
Console.WriteLine("Found!");
}