C#에서는 Contains() 메서드를 사용하여 주어진 문자열 안에 특정 부분 문자열이 존재하는지 간단하게 확인할 수 있습니다. 이 메서드는 대상 문자열에 지정한 부분 문자열이 포함되어 있으면 true, 그렇지 않으면 false를 반환하므로 조건문과 함께 활용하기 매우 편리합니다.
기본 사용법
예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.
United
이 문자열에서 부분 문자열 "Uni"를 찾고 싶다면 Contains() 메서드를 아래와 같이 호출하면 됩니다.
res = str1.Contains(str2);
예제 코드
아래 전체 코드를 실행하면 문자열 안에서 부분 문자열을 찾는 과정을 직접 확인할 수 있습니다.
using System;
public class Demo {
public static void Main() {
string str1 = "United", str2 = "Uni";
bool res;
res = str1.Contains(str2);
if (res)
Console.Write("The substring " + str2 + " is in the string " + str1);
else
Console.Write("The substring " + str2 + " is not in the string " + str1);
}
}실행 결과
The substring Uni is in the string United
위 예제에서 str1("United")은 str2("Uni")를 포함하고 있으므로 Contains() 메서드가 true를 반환하고, if 문의 조건이 성립하여 해당 부분 문자열이 존재한다는 메시지가 출력됩니다.
주의 사항
Contains() 메서드는 대소문자를 구분합니다. 따라서 "Uni" 대신 "uni"로 검색하면 결과는 false가 됩니다. 대소문자를 무시하고 비교하려면 두 문자열을 모두 ToLower()로 변환한 뒤 비교하거나, .NET 이후 버전에서는 Contains(str2, StringComparison.OrdinalIgnoreCase)처럼 StringComparison 옵션을 함께 사용하는 것이 좋습니다.