У меня есть строка, которая содержит предложения в форме:
"Мисс Смит, чтобы поговорить со своим коллегой мисс Смит, чтобы создать новые события для команды. Помощник руководителя группы, чтобы организовать утреннее выступление сеанс. для езды по городу. "
- Предложения могут содержать или не содержать пунктуацию или правильный регистр.
- Также может быть шум в тексте ( дополнительные символы, слова).
- Я хочу разделить на следующие структуры:
- "Мисс / Ms / Mr / Mrs до"
- "Мисс / Ms / Mr / От миссис до "
- " от руководителя группы до "
- " от руководителя группы до "
- ". До "
Я хотел бы нарезать это в списке:
["Ms Smith to talk to her colleague",
"Ms Smith to create new events for the team.",
"team Leader's assistant to organise morning stand-up session.",
"to drive around the city."]
Мое текущее решение работает, но очень не pythoni c, я уверен, что есть способы, чтобы избежать некоторое время l oop:
def slice(text):
parts = []
rule = "(^.+?)(?:(?:miss [a-z]+|ms [a-z]+|mrs [a-z]+|mr [a-z]+|team leader)(?:'s [a-z ]+?)?|\.) to.+?$"
while True:
try:
part = re.findall(rule, text)[0]
parts.append(part)
# Remove part from text for next iteration
text = text[len(part):]
except IndexError:
# findall returned empty list
break
# Add the remainder
parts.append(text)
return parts
Спасибо за помощь!