Original article: Python Substring – How to Slice a String

파이썬에서 문자열(string)은 문자(Characters)의 시퀀스로 특수문자 또는 알파벳, 숫자를 포함합니다.

예를 들어 “우리 금요일 08:00am에 만나자”라는 문자열이 있습니다. 여기서 보통 부분문자열(substring)이라고 알려져 있는 문자열의 특정 부분을 액세스 할 수 있습니다.

우리는 부분문자열을 문자열 안에 한 시퀀스로 정의할 수 있으며, 예제에서는 “금요일” “에” 그리고 “만나자” 가 될 수 있습니다.

파이썬으로 부분문자열을 생성하는 방법

파이썬은 부분문자열을 생성하고, 부분문자열의 존재 여부를 확인하고, 부분문자열의 인덱스를 추출하기 위한 다양한 방법과 메소드를 제공합니다.

다음과 같이 인덱스를 활용하여 문자열에서 부분문자열을 추출할 수 있습니다.
string[start:stop:step]

start – 부분문자열의 첫번째 인덱스
stop – 부분문자열의 마지막 인덱스
step – 슬라이싱의 간격을 의미하며, 기본값은 1입니다.

![substring index 표 설명] (https://www.freecodecamp.org/news/content/images/2021/07/image--2-.png)

인덱스는 양수일 수도 음수일 수도 있습니다. 양수 인덱스는 문자열의 첫번째 문자부터 시작해서 마지막 문자에서 끝이 나고, 음수 인덱스는 마지막 문자에서 시작하여 첫번째 문자에서 끝이 납니다.

이번 글에서는 파이썬에서 부분문자열과 관련한 다양한 조작방법을 다룹니다.

파이썬에서 첫번째 n 문자를 추출하는 방법

이 예제는 첫 다섯 문자를 추출하는 방법에 대해서 설명합니다.

string = "hello world"
print(string[:5])

여기서 stop 인덱스는 5로 설정하였고, start 인덱스는 기본값 0으로 설정됩니다.
결과값은 'hello'입니다.

파이썬에서 중간 문자를 추출하는 방법

이번 예제는 세번째 인덱스부터 다섯 번째 인덱스까지 추출하는 방법을 보여줍니다.

string = "hello world"
print(string[3:5])

결과값은 'lo'입니다.

마지막 문자를 추출하는 방법

마지막 문자를 추출하기 위해서는 -1 인덱스(음수 인덱스)를 사용합니다. 다음 예제를 확인해보세요.

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

결과값은 'p'입니다.

마지막 n개 문자를 추출하는 방법

이번 예제에서는 음수 인덱스를 사용하여 마지막 4개 문자를 slicing합니다.

string = "freecodecamp"
print(string[-4:])

결과값은 'camp'입니다.

문자열에서 step을 이용해서 부분문자열을 슬라이싱하는 방법

당신은 start-index, stop-index 그리고 step을 이용해서 문자열을 자를 수 있습니다. 간격(step)은 기본값이 1이지만 다음 예제에서는 step 크기를 2로 설정합니다.

string = "welcome to freecodecamp"
print(string[::2])

결과값은 'wloet fecdcm'입니다.

부분문자열이 문자열에 포함되어있는지 확인하는 방법

부분문자열이 문자열에 포함되어 있는지 확인하고 싶을 때가 있습니다. 다음 예제는 부분문자열 ‘code’가 문자열에 포함되어 있는지를 확인합니다.

substring = "code"
string = "welcome to freecodecamp"
print(substring in string)

만약 포함되어 있다면 True 아니라면 False를 반환합니다.
여기러 결과값은 True 입니다.

부분문자열의 포함 여부를 확인하는 다른 방법

find() 메소드를 통해서 부분문자열이 문자열에 존재하는지를 확인할 수 있습니다.
다음 예제를 확인해봅시다.

substring = "zz"
string = "hello world"
print(string.find(substring))

부분문자열이 문자열에 포함되어 있다면 부분문자열 가장 왼쪽의 인덱스를 반환하고, 포함되어 있지 않다면 -1을 반환합니다.
예제에서 결과값은 -1로, ‘zz’는 ‘hello world’에 포함되어 있지 않음을 의미합니다.

문자열에서 주어진 인덱스에 해당하는 문자를 반환하는 방법

인덱스에 따라 특정 문자를 슬라이싱 할 수 있습니다.

string ="hello world"
print(string[4])

결과값은 ‘0’ 입니다.

파이썬으로 부분문자열의 리스트를 만드는 방법

split() 메소드를 사용하여 부분문자열의 리스트를 생성할 수 있습니다. 다음 예제를 확인해봅시다.

string = "welcome to freecodecamp platform"
print(string.split())

결과값은 ['welcome', 'to', 'freecodecamp', 'platform']입니다.

음수 step으로 문자열 뒤집기

문자열을 반대방향으로 뒤집기 위해서 step은 -1과 같은 음수 값이여야 합니다.

string = "welcome to freecodecamp"
print(string[::-1])

결과값은 ‘pmacedoceerf ot emoclew’입니다.

부분문자열이 문자열에 몇 번 나타났는지 세는 방법

count() 메소드를 통해 특정 부분문자열이 문자열에 몇 번 있는지 셀 수 있습니다.

string = "we will have a quick coding lesson this afternoon"
print(string.count('noon'))

결과값은 1입니다.

파이썬 부분문자열에 대한 마지막 이야기

축하합니다👏👏, 이 아티클의 끝까지 왔습니다! 파이썬 부분문자열에 대해서 새로운 것을 배우셨길 바랍니다.
만약 새로운 것을 배웠거나 이 아티클을 흥미롭게 읽었다면, 다른사람들도 볼 수 있도록 공유해 주세요. 그럼 다음 포스팅에서 만나요!

트위터에서도 저를 찾을 수 있습니다. @Davis_McDavid

이와 같은 아티클을 이 링크 를 통해서 더 많이 읽을 수 있습니다.