2017-02-05 35 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'] (The "Thats" одно слово)

+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\']+')