문자열의 마지막 문자를 제거하는 방법에 대해서 알아보겠습니다.

마지막 문자에 ”,“가 붙어있거나, 어떤 문자가 붙어있을 때 이것을 제거하고 싶을 때가 있는데요. 예제와 함께 제거 방법을 알아보겠습니다.

1. 리스트 슬라이싱을 이용한 방법

text[:-1]는 문자열 text에서 Index 0부터 문자열 마지막 Index 바로 이전까지만 잘라서 문자열로 리턴합니다.

  • text[:-1]"Hello World!"에서 마지막 문자를 제외한 나머지를 잘라서 리턴
text = "Hello World!"
new_text = text[:-1]
print(new_text)

Output:

Hello World

2. rstrip()을 이용한 방법

str1.rstrip(str2)는 str1이 str2로 끝나면, 문자열에서 str2를 제거합니다.

아래와 같이 문자열이 특정 문자로 끝날 때 제거하도록 하거나, 항상 마지막 문자를 제거하도록 구현할 수 있습니다.

  • text.rstrip("!") : text의 끝이 !로 끝나면 ! 제거
  • text.rstrip(text[-1]) : text[-1]은 text의 마지막 문자열 리턴, 즉, 이 코드는 마지막 문자열을 제거
text = "Hello World!"

# 마지막 문자에 특정 문자가 있을 때만, 마지막 문자 제거
new_text = text.rstrip("!")
print(new_text)

# 항상 문자열의 마지막 문자 제거
new_text = text.rstrip(text[-1])
print(new_text)

Output:

Hello World
Hello World

3. 정규표현식을 이용한 방법

re.sub(pattern, repl, text)는 text에서 pattern과 일치하는 문자열을 repl로 변경합니다.

이것을 이용하여 아래 처럼 마지막 문자 패턴으로 마지막 문자만 제거할 수 있습니다.

  • 패턴 $는 문자열의 끝을 의미 .$는 문자열 마지막 문자이며, (.)$는 마지막 문자를 그룹으로 설정
  • re.sub(pattern, '', text) : text에서 마지막 문자를 ''으로 대체하여 제거
import re

text = "Hello World!"
pattern = r'(.)$'

new_text = re.sub(pattern, '', text)
print(new_text)

Output:

Hello World