2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

C#의 String.Contains() 메서드는 어떻게 사용하나요?

_____
Q1: C 에서 String.Contains() 메서드는 무엇을 하나요?
A1: String.Contains() 메서드는 특정 문자열 안에 지정한 문자열이 포함되어 있는지를 확인합니다. 포함되어 있으면 true, 아니면 false를 반환합니다.

Q2: String.Contains() 메서드의 기본 사용법은 어떻게 되나요?
A2:
```csharp
string source = "Hello, world!";
bool result = source.Contains("world"); // result는 true
```

Q3: 대소문자는 구분되나요?
A3: 네, 기본적으로 대소문자를 구분합니다. 예를 들어 "Hello".Contains("hello")는 false를 반환합니다.

Q4: 대소문자 구분 없이 검색하려면 어떻게 하나요?
A4: String.Contains()는 기본적으로 대소문자 구분 검색만 지원합니다. 대소문자 무시 검색을 하려면 다음과 같이 String.IndexOf()와 StringComparison 옵션을 사용할 수 있습니다.
```csharp
bool result = source.IndexOf("world", StringComparison.OrdinalIgnoreCase) >= 0;
```

Q5: null 값을 포함하는 문자열에 Contains를 호출하면 어떻게 되나요?
A5: null 참조에서 Contains를 호출하면 NullReferenceException이 발생합니다. 따라서 null 체크를 먼저 하는 것이 좋습니다.
```csharp
if (!string.IsNullOrEmpty(source) && source.Contains("test")) { ... }
```
Q6: String.Contains()는 부분 문자열만 찾나요? 정규식 지원되나요?
A6: Contains()는 단순 부분 문자열 존재 여부만 검사합니다. 정규식 패턴 검색은 지원하지 않으며, 정규식이 필요하면 System.Text.RegularExpressions.Regex를 사용해야 합니다.

Q7: Contains()의 반환형은 무엇인가요?
A7: bool 타입으로, 찾으면 true, 못 찾으면 false를 반환합니다.

Q8: String.Contains()는 어떤 네임스페이스에 있나요?
A8: System 네임스페이스에 포함되어 있으며, 별도 using 구문 없이도 사용할 수 있습니다.

Q9: C 8.0 이상에서 String.Contains()에 어떤 변화가 있나요?
A9: C 8.0과 .NET Core 3.0 이상부터 String.Contains()는 StringComparison 인자를 받아 대소문자 구분 여부, 문화권 설정 등을 지정할 수 있습니다.
예:
```csharp
source.Contains("text", StringComparison.OrdinalIgnoreCase);
```

Q10: 여러 키워드 중 하나라도 포함되어 있는지 확인하는 방법은?
A10: 람다식과 Any()를 사용하면 편리합니다.
```csharp
string[] keywords = { "apple", "banana", "cherry" };
bool containsAny = keywords.Any(k => source.Contains(k));
```

---

요약: String.Contains()는 문자열 내에 특정 문자열 포함 여부를 bool로 반환하는 메서드이며, .NET Core 3.0 이상부터는 대소문자 구분 옵션을 지정할 수 있습니다. 기본은 대소문자 구분하며, null 체크가 필요합니다.
C 의 `String.Contains()` 메서드는 특정 문자열이 다른 문자열에 포함되어 있는지를 확인하는 데 사용됩니다.

이 메서드는 `System.String` 클래스의 일부로, 매우 유용한 문자열 조작 기능 중 하나입니다.

`Contains()` 메서드는 대소문자를 구분하며, 검색할 문자열이 포함되어 있으면 `true`를, 그렇지 않으면 `false`를 반환합니다.

기본 사용법 `Contains()` 메서드는 다음과 같은 형식으로 사용됩니다: ```csharp bool result = mainString.Contains(substring); ``` - `mainString`: 검색할 원본 문자열입니다.

- `substring`: `mainString` 내에서 검색할 문자열입니다.

- `result`: `mainString`이 `substring`을 포함하고 있는 경우 `true`, 그렇지 않은 경우 `false`입니다.

예제 다음은 `String.Contains()` 메서드의 간단한 사용 예제입니다: ```csharp using System; class Program { static void Main() { string mainString = "Hello, World!"; string substring = "World"; bool containsSubstring = mainString.Contains(substring); if (containsSubstring) { Console.WriteLine($"'{mainString}' contains '{substring}'."); } else { Console.WriteLine($"'{mainString}' does not contain '{substring}'."); } } } ``` 위의 코드에서 `mainString`은 "Hello, World!"이고, `substring`은 "World"입니다.

`Contains()` 메서드는 `true`를 반환하고, 콘솔에 "Hello, World! contains World."라는 메시지가 출력됩니다.

대소문자 구분 `Contains()` 메서드는 대소문자를 구분합니다.

즉, "hello"와 "Hello"는 서로 다른 문자열로 간주됩니다.

예를 들어: ```csharp string mainString = "Hello, World!"; bool containsLowercase = mainString.Contains("hello"); // false bool containsUppercase = mainString.Contains("Hello"); // true ``` 위의 예제에서 `containsLowercase`는 `false`이고, `containsUppercase`는 `true`입니다.

문자열의 위치 확인 `Contains()` 메서드는 문자열이 포함되어 있는지 여부만 확인할 수 있으며, 포함된 문자열의 위치를 알 수는 없습니다.

만약 포함된 문자열의 위치를 알고 싶다면 `IndexOf()` 메서드를 사용할 수 있습니다.

예를 들어: ```csharp int index = mainString.IndexOf(substring); if (index != -1) { Console.WriteLine($"'{substring}' found at index {index}."); } else { Console.WriteLine($"'{substring}' not found."); } ``` 여러 문자열 검색 `Contains()` 메서드는 단일 문자열만 검색할 수 있습니다.

여러 문자열을 동시에 검색하려면 반복문을 사용하거나 LINQ를 활용할 수 있습니다.

예를 들어: ```csharp string[] substrings = { "Hello", "World", "C " }; foreach (var sub in substrings) { if (mainString.Contains(sub)) { Console.WriteLine($"'{mainString}' contains '{sub}'."); } } ``` 문화권에 따른 문자열 검색 `Contains()` 메서드는 기본적으로 현재 문화권에 따라 대소문자를 구분합니다.

만약 문화권에 상관없이 대소문자를 구분하지 않고 검색하고 싶다면, 문자열을 모두 소문자 또는 대문자로 변환한 후 `Contains()`를 사용해야 합니다.

예를 들어: ```csharp bool containsIgnoreCase = mainString.ToLower().Contains(substring.ToLower()); ``` 결론 C 의 `String.Contains()` 메서드는 문자열 검색을 간편하게 수행할 수 있는 유용한 도구입니다.

대소문자를 구분하며, 포함 여부만 확인할 수 있습니다.

다양한 문자열 조작과 검색 기능을 활용하여 효과적으로 문자열을 처리할 수 있습니다.

작성자: 최하린 [비회원] | 작성일자: 1년 전 2024-09-09 08:39:00
조회수: 378 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.