티스토리 뷰

728x90

문자열에서 마지막 단어를 추출하는 다양한 방법을 소개합니다.

 

split()을 이용하여 마지막 단어 추출

split() 함수는 공백 문자로 문자열을 분리하고 리스트에 담아 반환합니다. 아래와 같이 text 문자열을 공백 문자로 분리하면 단어 단위로 분리되며, 리스트의 마지막 인덱스에 접근하여 마지막 단어를 가져올 수 있습니다.

  • words[-1] : words 리스트의 마지막 요소 리턴
text = "Hello, This is an example"
words = text.split()
last_word = words[-1]

print(last_word) # example
print(words) # ['Hello,', 'This', 'is', 'an', 'example']

 

정규표현식을 이용하여 마지막 단어 추출

re.findall(pattern, text)는 문자열 text에서 pattern과 일치하는 모든 문자열을 찾습니다. 찾은 값들은 리스트로 리턴합니다.

 

따라서, 마지막 단어를 찾으려면 아래와 같이 findall()로 모든 단어를 찾고, 리스트의 마지막 요소를 가져오면 됩니다.

  • 정규식 '\b' 는 단어의 경계를 의미
  • 'w'는 영어, 숫자, '_'로 이루어진 문자를 의미(word), '+'는 글자 1개 이상
  • 'w+'는 단어 1개 이상으로 된 문자열
  • '\b\w+\b'는 단어 1개 이상으로 된 문자열이 스페이스로 경계가 구분된 것을 의미
  • matches[-1] : 리스트에서 마지막 단어를 가져옴
import re

text = "Hello, This is an example"
matches = re.findall(r'\b\w+\b', text)

if matches:
    last_word = matches[-1]
    print(last_word)  # example
    print(matches)  # ['Hello', 'This', 'is', 'an', 'example']

 

728x90