Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# String.Contains() 메서드 – 문자열 포함 여부 확인 방법과 예제

C#의 String.Contains() 메서드는 지정한 부분 문자열(하위 문자열)이 현재 문자열 안에 존재하는지를 나타내는 값을 반환합니다. 문자열에 특정 텍스트가 포함되어 있는지 검사할 때 가장 널리 사용되는 메서드 중 하나입니다.

문법(Syntax)

public bool Contains (string val);

여기서 val은 현재 문자열 내에서 검색할 부분 문자열을 의미합니다. 부분 문자열이 존재하면 true, 존재하지 않으면 false를 반환합니다.

예제 1: Contains() 기본 사용법

using System;
public class Demo {
   public static void Main(String[] args) {
      string str1 = "Akon";
      string str2 = "Ak";
      Console.WriteLine("String 1 = "+str1);
      Console.WriteLine("HashCode of String 1 = "+str1.GetHashCode());
      Console.WriteLine("String 2 = "+str2);
      Console.WriteLine("HashCode of String 2 = "+str2.GetHashCode());
      Console.WriteLine("String 1 is equal to String 2: {0}", str1.Equals(str2));
      Console.WriteLine("Does String 1 has String 2 = "+str1.Contains(str2));
   }
}

실행 결과

String 1 = Akon
HashCode of String 1 = 416613838
String 2 = Ak
HashCode of String 2 = -839927841
String 1 is equal to String 2: False
Does String 1 has String 2 = True

위 예제에서 str1("Akon")은 str2("Ak")와 같지 않지만(Equals 결과 False), "Ak"라는 부분 문자열을 포함하고 있으므로 Contains()True를 반환합니다.

예제 2: 조건문과 함께 활용하기

using System;
public class Demo {
   public static void Main(String[] args) {
      string str1 = "Jacob";
      string str2 = "John";
      Console.WriteLine("String 1 = "+str1);
      Console.WriteLine("HashCode of String 1 = "+str1.GetHashCode());
      Console.WriteLine("String 2 = "+str2);
      Console.WriteLine("HashCode of String 2 = "+str2.GetHashCode());
      bool res = str1.Contains(str2);
      if (res)
         Console.WriteLine("Found!");
      else
         Console.WriteLine("Not found!");
   }
}

실행 결과

String 1 = Jacob
HashCode of String 1 = -790718923
String 2 = John
HashCode of String 2 = -1505962600
Not found!

이 예제에서는 Contains()의 반환값을 bool 변수에 저장한 뒤, if-else 문으로 분기 처리하는 방법을 보여줍니다. "Jacob"에는 "John"이 포함되어 있지 않으므로 "Not found!"가 출력됩니다.

정리

  • String.Contains()는 대소문자를 구분하여 부분 문자열 포함 여부를 검사합니다.
  • 반환 타입은 bool이며, 포함 시 true, 미포함 시 false를 반환합니다.
  • .NET Core 2.1 이상에서는 StringComparison 옵션을 매개변수로 받는 오버로드도 제공되어 대소문자 무시 검색 등이 가능합니다.