C# 다양한 Substring 문 사용법 정리
안녕하세요.
C#에서 Substring 메서드는 문자열의 일부분을 추출할 때 사용됩니다.
이 메서드를 사용하면 원본 문자열에서 특정 위치부터 시작하는 부분 문자열을 얻을 수 있습니다.
# Substring 기본 구조
Substring 메서드는 두 가지 오버로드(overload)를 제공합니다:
1. Substring(int startIndex):
- 문자열의 startIndex 위치부터 끝까지의 부분 문자열을 반환합니다.
2. Substring(int startIndex, int length):
- startIndex 위치부터 지정된 길이(length)만큼의 부분 문자열을 반환합니다.
# 예제 1: startIndex만 사용하는 Substring
using System;
class Program
{
static void Main()
{
string text = "Hello, World!";
string result = text.Substring(7);
Console.WriteLine(result); // Output: "World!"
}
}
- 이 예제에서는 startIndex로 7을 지정하여 "Hello, World!" 문자열의 7번째 위치(W 문자)부터 끝까지의 부분 문자열 "World!"를 반환합니다.
# 예제 2: startIndex와 length를 사용하는 Substring
using System;
class Program
{
static void Main()
{
string text = "Hello, World!";
string result = text.Substring(7, 5);
Console.WriteLine(result); // Output: "World"
}
}
- 이 예제에서는 startIndex로 7을, length로 5를 지정하여 "Hello, World!" 문자열의 7번째 위치부터 5글자 길이의 부분 문자열 "World"를 반환합니다.
# 예제 3: 문자열의 시작과 끝 부분 추출
using System;
class Program
{
static void Main()
{
string text = "C# Programming";
// 문자열의 시작 부분 추출
string start = text.Substring(0, 2); // "C#"
// 문자열의 끝 부분 추출
string end = text.Substring(text.Length - 11, 11); // "Programming"
Console.WriteLine("Start: " + start); // Output: "C#"
Console.WriteLine("End: " + end); // Output: "Programming"
}
}
- 이 예제에서는 문자열 "C# Programming"의 첫 2글자와 마지막 11글자를 각각 추출하여 "C#"와 "Programming"을 출력합니다.
# 예제 4: 잘못된 인덱스를 사용할 때
using System;
class Program
{
static void Main()
{
string text = "Short";
try
{
string result = text.Substring(10); // 예외 발생
}
catch (ArgumentOutOfRangeException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
- 이 예제에서는 Substring(10)을 시도하지만, 문자열의 길이보다 큰 인덱스를 사용하면
ArgumentOutOfRangeException 예외가 발생합니다.
이 예제는 예외를 처리하여 사용자에게 에러 메시지를 출력합니다.
# 예제 5: Substring과 IndexOf를 함께 사용하기
using System;
class Program
{
static void Main()
{
string text = "The quick brown fox jumps over the lazy dog";
// "brown" 단어의 시작 위치를 찾고, 그 단어를 추출
int startIndex = text.IndexOf("brown");
string result = text.Substring(startIndex, 5);
Console.WriteLine(result); // Output: "brown"
}
}
- 이 예제에서는 IndexOf 메서드를 사용하여 "brown" 단어의 시작 위치를 찾은 후, 그 위치에서 5글자의 부분 문자열을 추출합니다.
# 결론
Substring 메서드는 문자열에서 특정 부분을 추출할 때 매우 유용합니다. startIndex만을 사용하는 방법과 startIndex와 length를 함께 사용하는 방법을 통해 원하는 부분 문자열을 쉽게 얻을 수 있습니다. 이 메서드를 잘 활용하면 문자열 데이터를 효과적으로 관리하고 조작할 수 있습니다.
감사합니다
(chat gpt 참고)