C# - Substring()으로 문자열 자르기

string.Substring()으로 문자열을 자르는 방법을 소개합니다.

예를 들어, 아래 input과 같은 문자열이 있을 때, Substring(6, 5)은 Index 6에서 시작하는 5개의 문자를 잘라서 string으로 리턴합니다.

input: "Hello world"
output: "world"

1. Substring(startIndex)로 문자열 자르기

Substring(startIndex)는 startIndex부터 문자열 끝까지 범위의 문자열을 잘라서 리턴합니다.

아래 예제를 보면 Index 6Index 13부터 끝까지 문자열을 잘라서 string으로 리턴하였습니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            string str = "Hello world, C#";

            string result = str.Substring(6);
            Console.WriteLine(result);

            result = str.Substring(13);
            Console.WriteLine(result);
        }
    }
}

Output:

world, C#
C#

2. Substring(startIndex, length)로 특정 길이만큼 자르기

Substring(startIndex, length)는 startIndex에서 length 길이만큼의 문자열을 잘라서 string으로 리턴합니다.

아래 예제에서 Substring(0, 5)는 Index 0부터 5개의 문자를 잘라서 string으로 리턴합니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            string str = "Hello world, C#";

            string result = str.Substring(0, 5);
            Console.WriteLine(result);

            result = str.Substring(6, 5);
            Console.WriteLine(result);

            result = str.Substring(13, 2);
            Console.WriteLine(result);
        }
    }
}

Output:

Hello
world
C#

3. 특정 문자 위치까지 자르기

Substring()IndexOf()를 이용하면, 특정 문자 직전 위치까지 문자열을 자를 수 있습니다.

string.IndexOf(char)는 문자열에서 char의 Index를 리턴합니다. 동일한 문자가 여러개 있는 경우 가장 왼쪽에 있는 문자의 Index가 리턴됩니다.

Substring(0, IndexOf(char)) 패턴을 이용하면, Index 0에서 char의 바로 직전 문자까지 자르게 됩니다. char의 Index가 바로 직전 문자까지의 개수가 되기 때문입니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            string str = "Hello world, C#";

            string result = str.Substring(0, str.IndexOf(','));
            Console.WriteLine(result);
        }
    }
}

Output:

Hello world
Loading script...
codechachaCopyright ©2019 codechacha