La suppression de la ponctuation/nombres de texte problème
J'ai eu un peu de code qui fonctionnait bien la suppression de la ponctuation/chiffres à l'aide des expressions régulières en python, j'ai dû modifier un peu le code, de sorte que l'arrêt de la liste travaillé, pas particulièrement important. De toute façon, maintenant, la ponctuation n'est pas supprimé, et franchement, je suis perplexe quant à pourquoi.
import re
import nltk
# Quran subset
filename = raw_input('Enter name of file to convert to ARFF with extension, eg. name.txt: ')
# create list of lower case words
word_list = re.split('\s+', file(filename).read().lower())
print 'Words in text:', len(word_list)
# punctuation and numbers to be removed
punctuation = re.compile(r'[-.?!,":;()|0-9]')
for word in word_list:
word = punctuation.sub("", word)
print word_list
Tous les pointeurs sur pourquoi ça ne fonctionne pas serait génial, je ne suis pas expert en python donc c'est probablement quelque chose de ridiculement stupide. Merci.
OriginalL'auteur Alex | 2011-04-01
Vous devez vous connecter pour publier un commentaire.
Changement
à
Affectation à
word
dans lefor-loop
ci-dessus, il suffit de modifier la valeur référencée par cette variable temporaire. Il ne modifie pasword_list
.OriginalL'auteur unutbu
Vous n'êtes pas la mise à jour de votre liste de mots. Essayez
Rappelez-vous que si
word
commence comme une référence à l'objet de type string dans leword_list
, la cession relie le nomword
de la nouvelle chaîne de l'objet renvoyé par lasub
fonction. Il ne change pas l'origine objet référencé.OriginalL'auteur Martin Stone