gpt4 book ai didi

python - 如果字符串中出现特定子字符串,如何使用 python 返回子字符串?

转载 作者:行者123 更新时间:2023-12-05 01:49:16 35 4
gpt4 key购买 nike

我正在尝试使用 python 返回或打印出现在非常长的字符串中的搜索关键字之前的特定子字符串。

例如如果我的字符串如下

string = "id:0, an apple a day keeps the doctor away, id=1, oranges are orange not red, id=3, fox jumps over the dog, id=4, fox ate grapes"

如果搜索关键字是 apple 则应打印 0(即 id)

如果搜索关键字是橙色的,则应该打印 1(即 id)

如果搜索关键字是 fox,那么应该打印 34(即 id)

我期待示例中给出的关键字的 id。在我的例子中,所有可搜索的关键字都与示例字符串中的 id 相关联。

最佳答案

您可以使用以下正则表达式返回索引和关键字匹配。

import re

def find_id(string, word):
pattern = r'id[:=](\d+),[\w\s]+' + word
return list(map(int, re.findall(pattern, string)))

string = "id:0, an apple a day keeps the doctor away, id=1, oranges are orange not red, id=3, fox jumps over the dog, id=4, fox ate grapes"

print(find_id(string, 'fox'))

输出:

[3, 4]

我已经返回了 int,但如果这不是必需的,那么您可以通过替换 return 将索引作为字符串返回 ['3', '4']符合;

return re.findall(pattern, string)

关于python - 如果字符串中出现特定子字符串,如何使用 python 返回子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74260133/

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