문장을 파이썬으로 구분해야합니다.문장이 구두점으로 끝나는 경우 공백 토큰을 삽입하지 않고 구두점으로 분할하는 효율적인 방법
이 명령은 거의 잘 작동 :
re.split('\W+', line.lower().strip(), flags=re.UNICODE)
문제는 문장의 마지막 문자가 구두점 경우, 마지막 토큰이 무효 토큰 점이다.
어떻게 피할 수 있습니까?
무효화 토큰을 삽입 할 수없는 솔루션이 필요합니다. 나는 그것을 후에 취소 할 여유가 없다 : 필자는 텍스트의 매우 큰 코퍼에서이 명령을 실행할 필요가 있기 때문에 효율이 문제가된다.
>>> line = 'Hello world!'
>>> re.findall(r'\w+', line.lower(), flags=re.UNICODE)
['hello', 'world']
# `.strip()` was remove because `\w+` does not match whitespaces.
사이드 참고 :
위대한 작품! 고맙습니다 – user3623123