gpt4 book ai didi

python - 从python中的文本中找到并提取一段包含关键字的字符串

转载 作者:行者123 更新时间:2023-11-28 20:20:08 25 4
gpt4 key购买 nike

我正在制作一个浏览许多评论的机器人,我想找到任何以“I'm”或“I am”开头的句子。这是一个示例评论(其中有两个我想提取的句子)。

"Oh, in that case. I'm sorry. I'm sure everyone's day will come, it's just a matter of time."  

这是我到目前为止的功能。

keywords = ["i'm ","im ","i am "]

def get_quote(comments):
quotes = []
for comment in comments:
isMatch = any(string in comment.text.lower() for string in keywords)
if isMatch:

如何定位句子的开始和结束位置,以便将其附加到列表 quotes 中?

最佳答案

您可以使用 regular expressions为此:

>>> import re
>>> text = "Oh, in that case. I'm sorry. I'm sure everyone's day will come, it's just a matter of time."
>>> re.findall(r"(?i)(?:i'm|i am).*?[.?!]", text)
["I'm sorry.",
"I'm sure everyone's day will come, it's just a matter of time."]

我在这里使用的模式是 r"(?i)(?:i'm|i am).*?[.?!]"

  • (?i) 设置标志“忽略大小写”
  • (?:i'm|i am) "我是"或 (|) "我是", ?:表示非捕获组
  • .*? 非贪婪地 (?) 匹配任意字符 (.) 的序列 (*) >) ...
  • [.?!] ... 直到找到文字点、问号或感叹号。

请注意,这仅在没有“其他”点的情况下才有效,即在“博士”中。或“Mr.”,因为它们也将被视为句末。

关于python - 从python中的文本中找到并提取一段包含关键字的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32265751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com