Original article: How to Substring a String in Python

Python은 문자열을 부분 문자열(substring)로 만드는 여러 가지 방법을 제공하는데, 이것을 ‘슬라이싱(slicing)’이라고 부릅니다 .

구문은 다음과 같습니다.

String[start:end:step]

여기서,
start: 부분 문자열의 시작 인덱스입니다. 이 인덱스의 문자는 부분 문자열에 포함됩니다. 시작 인덱스를 생략하면 기본값인 0이 지정됩니다.
end: 부분 문자열의 끝 인덱스입니다. 이 인덱스의 문자는 부분 문자열에 포함되지 않습니다. end가 생략되거나 지정된 값이 문자열 길이를 초과하면 기존 문자열의 길이와 동일하다고 가정합니다.
step: 현재 문자에서 step간격으로 문자를 추출합니다. step을 생략하면 기본값인 1로 설정됩니다.

기본 사용법

string[start:end]: start 인덱스부터 end-1, 즉, 마지막에서 두 번째 인덱스(end 인덱스는 제외)까지의 문자들을 슬라이싱합니다.
string[:end]: 문자열의 맨 처음부터 end-1, 즉 마지막에서 두 번째 인덱스(end 인덱스는 제외)까지의 문자들을 슬라이싱합니다.
string[start:]: start 인덱스부터 문자열의 마지막까지 슬라이싱합니다.
string[start:end:step]: start 인덱스부터 end-1 인덱스 범위 내에 step간격으로 슬라이싱합니다.

예시

1. 문자열의 첫 5 문자를 슬라이싱하기

string = "freeCodeCamp"
print(string[0:5])

출력된 값:

> freeC

참고: print(string[:5])print(string[0:5])와 같은 결과를 반환합니다.

2. 문자열의 세 번째 문자부터 시작하는 4자 길이의 부분 문자열을 추출하기

string = "freeCodeCamp"
print(string[2:6])

출력된 값:

> eeCo

3. 문자열의 마지막 문자 추출하기

string = "freeCodeCamp"
print(string[-1])

출력된 값:

> p

위 예시를 보면 알 수 있듯이, start 또는 end 인덱스는 음수일 수 있습니다. 음수 인덱스는 주어진 문자열의 뒤에서부터 문자를 접근한다는 뜻입니다. -1 인덱스는 문자열의 마지막 문자를 가르키고, -2는 마지막에서 두 번째 문자를 가르키는 식입니다.

4. 문자열의 마지막 5자를 부분 문자열로 추출하기

string = "freeCodeCamp"
print(string[-5:])

출력된 값:

> eCamp

5. 첫번째 문자와 마지막 4개의 문자를 제외한 부분 문자열 추출하기

string = "freeCodeCamp"
print(string[1:-4])

출력된 값:

> reeCode

6. 문자열 내 두 칸 간격으로 슬라이싱하기

string = "freeCodeCamp"
print(string[::2])

출력된 값:

> feCdCm