C# 문자열 자르기 Substring 사용법 및 예제

문자열에서 지정한 부분 문자를 취득하거나 자르고 싶은 경우가 있습니다.

C#에서는 String 클래스의 Substring 메서드를 사용하여 문자열을 자를수 있습니다.

 

Substring

Substring 함수는 다음과 같이 정의되어 있습니다.

public string Substring(

    int startIndex,

    int length

)

startIndex – 시작위치

length – 길이

 

 

문자열의 앞부분은 0부터 시작합니다.

파라미터 length는 생략 가능합니다.

생략한 경우 문자열의 마지막 부분까지 취득합니다.

 

Substring 예제 

using System;

namespace Sample {
	class Sample {
		static void Main() {
			string str = "ABCDEFG";
			Console.WriteLine(str.Substring(0, 1));
			Console.WriteLine(str.Substring(1, 5));
			Console.WriteLine(str.Substring(6));

			Console.ReadKey();
		}
	}
}

 

결과

A
BCDEF
G

 

지정한 파라미터를 하나씩 살펴보겠습니다.

str.Substring(0, 1)

str.Substring(1, 5)

str.Substring(6)

str.Substring(0, 1)은 시작 위치 0부터 1개를 취득하겠다고 지정한 것입니다.

str.Substring(1, 5)는 시작 위치 1부터 5개를 취득하겠다고 지정한 것입니다.

str.Substring(6)은 length파라미터를 생략했기 때문에 시작 위치 6부터 마지막까지 취득하게 됩니다.

 

IndexOf

문자열의 문자가 항상 같은 경우는 없습니다.

취득하고 싶은 문자는 같지만 문자열의 내용이 다르기 때문에 취득하고 싶은 문자의 위치도 다릅니다.

이러한 경우에는 IndexOf를 같이 사용해서 해결할 수 있습니다.

IndexOf 함수는 다음과 같이 정의되어 있습니다.

public int IndexOf(

    string value

)

value – 찾고싶은 문자열

 

Substring과 IndexOf 조합

using System;

namespace Sample {
	class Sample {
		static void Main() {
			string src_str = "I like apple";
			string target_str = "like";
			
			Console.WriteLine(src_str.Substring(
				src_str.IndexOf(target_str), 
				target_str.Length));

			Console.ReadKey();
		}
	}
}

 

결과

like

 

SubstringIndexOf를 조합하여 원하는 문자만 추출하였습니다.

댓글