предотвратить разбиение слов на основе - в предложениях - PullRequest
0 голосов
/ 04 сентября 2018

Это:

import re

title = 'Decreased glucose-6-phosphate dehydrogenase activity along with oxidative stress affects visual contrast sensitivity in alcoholics.'

words = list(filter(None, re.split('\W+', title)))
for word in words:
    print(word)

Результат:

Decreased
glucose
6
phosphate
dehydrogenase
activity
along
with
oxidative
stress
affects
visual
contrast
sensitivity
in
alcoholics

В идеале я бы хотел предотвратить расщепление слов вроде:

glucose-6-phosphate 

Есть ли лучший способ получить отдельные слова такого предложения в Python? Должен ли я принять регулярное выражение или есть что-то OOTB? Благодаря.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Шаблон \ W разбивается в этой группе: [^ a-zA-Z0-9_], чтобы остановить его разбиение на дефисы, просто добавьте один к этому шаблону и используйте его в своем регулярном выражении:

words = list(filter(None, re.split('[^a-zA-Z0-9_-]+', title)))
0 голосов
/ 04 сентября 2018

\W+ означает последовательность символов (букв). Поскольку - не входит в число этих символов, предложение разбивается там. Поскольку кажется, что вы разделяете только пробелы, вам не нужно регулярное выражение, вы можете просто title.split().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...