Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 문자열 끝의 부분 문자열을 제거하는 방법

문자열 끝의 부분 문자열 제거하기

파이썬에서 문자열 끝에 있는 특정 부분 문자열(substring)을 제거하려면, 먼저 endswith() 메서드를 사용하여 해당 문자열이 그 부분 문자열로 끝나는지 확인해야 합니다. 만약 그렇다면 슬라이싱(slicing)을 활용해 부분 문자열을 제외한 나머지 부분만 남기면 됩니다.

endswith()와 슬라이싱 활용

def rchop(string, ending):
    if string.endswith(ending):
        return string[:-len(ending)]
    return string

chopped_str = rchop('Hello world', 'orld')
print(chopped_str)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Hello w

string[:-len(ending)]은 문자열의 처음부터 끝에서 부분 문자열 길이만큼 앞쪽까지만 잘라내는 방식으로 동작합니다. 만약 문자열이 해당 부분 문자열로 끝나지 않는다면 원본 문자열이 그대로 반환되므로 안전하게 사용할 수 있습니다.

정규표현식(regex) 활용

실행 속도가 크게 중요하지 않다면 정규표현식을 사용하는 방법도 있습니다. 예를 들어 다음과 같습니다.

>>> import re
>>> re.sub('orld$', '', 'Hello world')
'Hello w'

여기서 패턴 끝의 $는 문자열의 끝을 의미하므로, 문자열 중간이 아닌 끝에 있는 'orld'만 정확히 제거됩니다. 간단한 작업에는 endswith()와 슬라이싱 조합이 더 빠르고 직관적이며, 복잡한 패턴 매칭이 필요할 때는 정규표현식이 유용합니다.