2017-02-05 48 views
0
from nltk.tokenize import RegexpTokenizer 
text="That's some text, you know!" 
tokens=[] 
tokenizer = RegexpTokenizer(r'\w+') 
tokens+=tokenizer.tokenize(text.lower()) 

目前返回:text = ['that', 's', 'some', 'text', 'you', 'know']如何刪除「在琴絃與RegexpTokenizer

我需要它返回:目前返回:text = ['thats', 'some', 'text', 'you', 'know'](該 」所以「 是一個字)

+0

你爲什麼不只是刪除了'''用'replace(「'」,「」)'? – hansaplast

+0

[在Python中刪除標點符號的最佳方法]可能的重複(http://stackoverflow.com/questions/265960/best-way-to-strip-punctuation-from-a-string-in-python) –

+0

@hansaplast這是文本處理,一個簡單的替換可能會替換其他'''這不是撇號,這就是爲什麼他們使用nltk。 –

回答

3

有2個解決方案。要麼你要預處理與您的文本變量:

text = text.replace("'", "") 

或要匹配「這是」與此修改一個字:

tokenizer = RegexpTokenizer(r'[\w\']+')