여기서 사용한 토큰화 방법은 간단한 텍스트에서 잘 동작합니다. 이를 조금 더 수정하여 물음표, 따옴표, (이디스 워튼의 단편 소설 앞부분에서 본) 이중 대시(double-dashes)와 같은 다른 유형의 구두점과 특수 문자를 처리해 보겠습니다.
text = "Hello, world. Is this-- a test?"
result = re.split(r'([,.:;?_!"()\']|--|\s)', text)
result = [item.strip() for item in result if item.strip()]
print(result)
출력은 다음과 같습니다.
['Hello', ',', 'world', '.', 'Is', 'this', '--', 'a', 'test', '?']
그림 2-5에 요약된 결과에서 보듯이 이 토큰화 방법은 텍스트에 있는 다양한 특수 문자를 성공적으로 처리할 수 있습니다.

▲ 그림 2-5 지금까지 구현한 토큰화 방법은 텍스트를 개별 단어와 구두점 문자로 분할합니다. 이 샘플의 경우 텍스트가 10개의 개별 토큰으로 분할됩니다.