C#/문자열

[C#]문자열에서 문자열이 존재하는지 확인하는 5가지 방법

DevStory 2021. 8. 22.

C#에서 문자열에서 문자열이 존재하는지 확인하는 5가지 방법에 대해 정리합니다.

 

가장 간단한 방법은 Contains 메서드를 사용하는 것이며, 특정 위치와 범위에 문자열이 존재하는지 체크하기 위해서는 IndexOf, LastIndexOf 메서드를 사용해야 합니다.

 

특정 문자열로 시작하는지 체크하는 경우 StartsWith 메서드를 사용해야 하며, 특정 문자열로 끝나는지 체크하는 경우 EndsWith 메서드를 사용해야 합니다.

 

방법이 다양하므로 로직에 적합한 메서드를 사용하면 되겠습니다.

 


Contains 메서드

Contains 메서드는 특정 문자 또는 문자열이 존재하면, true를 반환합니다.

 

존재하지 않을 경우 false를 반환합니다.

string str = "Contains Method";

Console.WriteLine(str.Contains("Method"));
Console.WriteLine(str.Contains("C#"));

실행 결과

 

대소문자 구분없이 문자열을 체크해야하는 경우 검색 유형을 설정합니다.

 

검색 유형 사용 방법은 아래 링크를 클릭하여 확인할 수 있습니다.

☞ StringComparison 열거형이란?

string str = "Contains Method";

// 검색 유형을 설정하지 않았을 경우입니다.
Console.WriteLine(str.Contains("method"));

// 대소문자 구분없이 문자열을 체크합니다. 
Console.WriteLine(str.Contains("method", StringComparison.OrdinalIgnoreCase));

실행 결과


IndexOf 메서드

문자열의 시작 위치에서부터 검색하고자 하는 문자 또는 문자열의 인덱스를 찾습니다.

 

동일한 문자열이 존재할 경우 시작 위치와 가까운 문자열의 위치(인덱스)를 반환합니다.

 

찾는 문자 또는 문자열이 없을 경우 -1을 반환합니다.

 

"Hello Hello Hello" 라는 문자열에서 "Hello"의 위치를 검색하는 과정입니다.

 

시작 위치에서 검색하여 시작 위치와 가까운 "Hello"의 위치를 반환합니다.

string str = "Hello Hello Hello";

// 시작 위치와 가까운 위치를 반환합니다.
Console.WriteLine(str.IndexOf("Hello"));

실행 결과

 

IndexOf 메서드의 다앙햔 사용 방법은 아래 포스팅에서 확인할 수 있습니다.

☞ [C#]문자 또는 문자열 위치 찾기(IndexOf)


LastIndexOf 메서드

문자열의 마지막 위치에서부터 검색하고자 하는 문자 또는 문자열의 인덱스를 찾습니다.

 

동일한 문자열이 존재할 경우 마지막 위치와 가까운 문자열의 위치(인덱스)를 반환합니다.

 

찾는 문자 또는 문자열이 없을 경우 -1을 반환합니다.

 

"Hello Hello Hello" 라는 문자열에서 "Hello"의 위치를 검색하는 과정입니다. 

 

역순으로 검색하여 마지막 위치와 가까운 "Hello"의 위치를 반환합니다.

string str = "Hello Hello Hello";

// 마지막 위치와 가까운 위치를 반환합니다.
Console.WriteLine(str.LastIndexOf("Hello"));

실행 결과

 

LastIndexOf 메서드의 다앙햔 사용 방법은 아래 포스팅에서 확인할 수 있습니다.

☞ [C#]문자 또는 문자열 위치 찾기(LastIndexOf)


StartsWith 메서드

문자열이 특정 문자열로 시작하면 true를 반환합니다.

 

그렇지 않으면 false를 반환합니다.

string str = "StartsWith Method";

Console.WriteLine(str.StartsWith("StartsWith"));

Console.WriteLine(str.StartsWith("Method"));

실행 결과


EndsWith 메서드

문자열이 특정 문자열로 끝나면 true를 반환합니다.

 

그렇지 않으면 false를 반환합니다.

string str = "EndsWith Method";

Console.WriteLine(str.EndsWith("EndsWith"));

Console.WriteLine(str.EndsWith("Method"));

실행 결과

 

반응형

댓글