说我有代码txt = "Hello my name is bob. I really like pies."
,我将如何分别提取每个句子并将其添加到列表中。我创建了这个凌乱的脚本,它给了我大约一个字符串的许多句子...
sentences = 0
capitals = [
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S',
'T','U','V','W','X','Y','Z'
]
finish_markers = [
'.','?','!'
]
newTxt = txt.split()
for x in newTxt[1:-1]:
for caps in capitals:
if caps in x:
for fin in finish_markers:
if fin in newTxt[newTxt.index(x) - 1]:
sentences += 1
for caps in capitals:
if caps in newTxt[0]:
sentences += 1
print("Sentence count...")
print(sentences)
它正在使用上面提到的txt
变量。但是,我现在想提取每个句子并将它们放入列表中,以便最终产品看起来像这样……
['Hello my name is bob.','I really like pies.']
我不希望使用任何非标准软件包,因为我希望此脚本独立于一切和脱机工作。谢谢您的帮助!
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以对所有结尾的chars(“。”,“?”,“!”)使用正则表达式,然后将其拆分为不同的字符串。
答案 2 :(得分:0)
您正在尝试将字符串拆分为句子,使用正则表达式或字符串函数处理很难做到这一点。对于您的用例,我建议使用NLTK之类的NLP库。然后,看看这个Tokenize a paragraph into sentence and then into words in NLTK。