본문 바로가기
Function/C#

C# 다양한 Substring 문 사용법 정리

by wawManager 2024. 8. 19.
728x90

안녕하세요.

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 참고)

728x90