어떤 언어로 개발을 하든 간에 개발 과정에서는 필연적으로 문자열을 조작할 일이 생깁니다. 오늘은 특히 Python 문자열 자르기 6가지 방법을 알아보도록 하겠습니다.
목차
Python 문자열 자르기 개요
Python 문자열 조작 방법 중 무엇보다도 흔하게 사용하는 문자열 자르기에 대해 알아보겠습니다. 문자열을 자르는 방식은 다양합니다. 따라서 다른 개발자가 작성한 코드도 읽을 수 있으려면 사용법을 명확히 알고 있어야겠죠? 그럼 Python 문자열 자르기 6가지 방법을 하나씩 살펴보겠습니다.
앞쪽 문자열 자르기
문자열 앞에서 숫자 5까지 잘라보겠습니다. Python 문자열 조작 방식의 특징으로 바로 대괄호를 사용해서 문자열의 범위를 지정할 수 있다는 점입니다.
txt = "123456789"
print(txt[5:])
Pythontxt[5:]의 표기법은 인덱스 5번부터 취하겠다는 의미입니다. 앞에서부터 인덱스 5인 ‘6’부터 끝까지 ‘6789’를 돌려주는 것입니다. 파이썬도 C나 Javascript처럼 마찬가지로 배열 인덱스는 0부터 시작합니다.
뒷쪽 문자열 자르기
이번엔 반대로 12345만 구하고 싶습니다. 그러면 대괄호의 콜론(:) 뒷 자리에 배열 번호 5를 넣어주면 됩니다. 그러면 배열번호 5번인 문자 6이 되기 전까지의 문자열을 구해 줍니다.
txt = "123456789"
print(txt[:5])
Python따라서 12345까지를 구하게 됩니다.
중간 문자열 구하기
아래 yyyy-mm-dd 형식의 문자열에서 mm만 구하려면 5번 배열 값인 0부터 7번 배열 값인 두 번째 하이픈(-) 직전인 5까지 문자열 “05”를 구하게 됩니다. 콜론(:) 왼쪽은 시작하는 index를 의미(start, begin)하며, 콜론 오른쪽은 해당 index 직전(stop, end)까지의 의미를 갖습니다.
txt = "2013-05-11"
print(txt[5:7])
Python마지막 글자 구하기
Python에서는 마이너스 값을 사용하면 뒷쪽에서부터 세기 시작합니다. 마지막 문자는 [-1]을 통해서 구할 수 있습니다.
txt = "123456789"
print(txt[-1])
Python앞에서 2자리, 뒤에서 3자리 자르기
그럼 지금까지 알아본 내용을 조합해서 앞에서 2자리 뒤에서 3자리를 자른다면 어떻게 하면 될까요?
txt = "2013-05-11"
print(txt[2:-3])
Python앞에서 2번 배열인 2013의 1부터 시작해서, 뒤에서부터 3번째 문자인 하이픈(-) 직전까지의 문자열을 구하게 되므로 “13-05″가 됩니다.
빈 문자열 자르기: strip(aka. js의 trim)
Javascript에는 trim이라는 메서드가 있습니다. Python에는 문자열 객체에 strip() 이라는 메서드를 사용하면 문자열 앞 뒤의 공백 문자를 정리해 줍니다. 스페이스 문자열 ” “만 정리할 뿐 아니라 \r이나 \n과 같은 문자들도 정리해 줍니다. 특히 크롤링 등으로 문자열을 조작할 때 자주 사용하게 되는 기능입니다.
txt = " 2013-05-11 \r\n "
print(f"\"{txt}\"")
print(f"\"{txt.strip()}\"")
Python왼쪽 빈 문자열만 자르고 싶을 때에는 lstrip()을 사용하면 되며, 오른쪽 빈 문자열만 정리하고 싶을 때에는 rstrip()을 이용하면 됩니다.
여기까지 문자열 자르거나 원하는 문자열을 구하는 방법 6가지를 알아보았습니다.
관련 자료
Python 문서 Strings를 참고했습니다.