본문 바로가기
프로그래밍/C# (WinForms)

C# ] 문자 또는 문자열 집합 중 하나라도 포함하고 있는지 확인하기

by eteo 2023. 2. 25.

 

 

Contains 또는 IndexOfAny 사용 가능

 

 

 

 

Contains() 는 특정 문자열 또는 문자열 배열중 하나가 문자열 내에 존재하는 존재하는지 여부를 검사하여 bool을 반환.

 

 

string str = "Hello, World!";
string[] keywords = {"World", "Universe"};

if (str.Contains(keywords[0]))
{
    Console.WriteLine("The string contains the keyword: " + keywords[0]);
}

if (!str.Contains(keywords[1]))
{
    Console.WriteLine("The string does not contain the keyword: " + keywords[1]);
}

 

 

 

 

 

IndexOfAny() 는 문자 배열 중 하나 이상의 문자가 문자열 내에 존재하는지 검색함. 검색된 문자가 처음 나타나는 인덱스를 반환하고, 검색된 문자가 여럿 포함될 경우 가장 먼저 나타나는 위치만 반환함. 검색되지 않는 경우는 -1 반환

 

string str = "Hello, World!";
char[] vowels = {'a', 'e', 'i', 'o', 'u'};

if (str.IndexOfAny(vowels) != -1)
{
    Console.WriteLine("The string contains at least one vowel.");
}
else
{
    Console.WriteLine("The string does not contain any vowels.");
}

 

 

 

 

 

대소문자 구분없이 검사하려면 Contains()는 StringComparison.OrdinalIgnoreCase 옵션 사용 가능하고 아니면 ToUpper() 또는 ToLower() 사용 가능

 

 

string targetString = "Apple pie";
bool containsApple = targetString.Contains("apple", StringComparison.OrdinalIgnoreCase);
Console.WriteLine(containsApple); // true

 

string text = "Hello, World!";
char[] charsToSearch = new char[] { '!', '?' };
int index = text.ToUpper().IndexOfAny(charsToSearch.ToUpper());
Console.WriteLine(index); // 12