Если ваше определение слова совпадает с определением модуля регулярных выражений (re
), то есть букв, цифр и подчеркиваний, это просто:
import re
fullwords = re.findall(r'\w+', thetext)
, где thetext
- рассматриваемая строка (например, полученная из f.read()
файлового объекта f
, открытого для чтения, если вы получили текст).
Если вы определяете слова по-разному (например, вы хотите включить апострофы, например «это» будет считаться «одним словом»), это не намного сложнее - просто используйте в качестве первого аргумента findall
соответствующий образец, например r"[\w']+"
для случая апострофа.
Если вам нужно быть очень, очень искушенным (например, иметь дело с языками, в которых нет разрывов между словами), то проблема внезапно становится намного сложнее, и вам понадобится какой-нибудь сторонний пакет, такой как NLTK .