공백을 사용하여 문자열을 단어로 분할하는 파이썬에서 토큰 화기를 구현하려고합니다 (NLTK 라이브러리를 사용하지 않음). 사용 예는 다음과 같습니다.
>> tokens = tokenise1(“A (small, simple) example”)
>> tokens
[‘A’, ‘(small,’, ‘simple)’, ‘example’]
정규식을 사용하여 일부 방법을 얻을 수 있지만 반환 값에는 원하지 않는 공백이 포함됩니다. 예제 사용에 따라 올바른 반환 값을 어떻게 얻습니까?
내가 지금까지 가지고있는 것은 :
def tokenise1(string):
return re.split(r'(\S+)', string)
그리고 다음을 반환합니다.
['', 'A', ' ', '(small,', ' ', 'simple)', ' ', 'example', '']
그래서 나는 반환에서 공백을 제거해야
을 사용하여 캡처하기 때문에 출력에 공백이 있습니다 ()
. 대신 다음과 같이 분할 할 수 있습니다.
re.split(r'\s+', string)
['A', '(small,', 'simple)', 'example']
\s+
하나 이상의 공백과 일치합니다.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다