Python - RegEx zum Teilen von Text in Sätze (Satz-Tokenisierung) [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Python Split Text auf Sätze 9 answersIch möchte eine Liste von Sätzen aus einer Zeichenfolge erstellen und sie dann ausdrucken. Ich möchte NLTK nicht verwenden, um dies zu tun. Es muss also nach einem Punkt am Ende des Satzes getrennt werden und nicht nach Dezimalstellen oder Abkürzungen oder dem Titel eines Namens oder wenn der Satz ein .com enthält. Dies ist ein Versuch, einen regulären Ausdruck zu erstellen, der nicht funktioniert.
import re
text = """\
Mr. Smith bought cheapsite.com for 1.5 million dollars, i.e. he paid a lot for it. Did he mind? Adam Jones Jr. thinks he didn't. In any case, this isn't true... Well, with a probability of .9 it isn't.
"""
sentences = re.split(r' *[\.\?!][\'"\)\]]* *', text)
for stuff in sentences:
print(stuff)
Beispielausgabe, wie es aussehen soll
Mr. Smith bought cheapsite.com for 1.5 million dollars, i.e. he paid a lot for it.
Did he mind?
Adam Jones Jr. thinks he didn't.
In any case, this isn't true...
Well, with a probability of .9 it isn't.