gpt4 book ai didi

python - Python Partial String Comparison 需要 String Comparison 的解决方案

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:04:35 26 4
gpt4 key购买 nike

场景:我为各自的“节头”(存储为字符串)执行了一些任务,该任务的结果必须针对相同的相应“现有节头”(存储为字符串)保存

如果相应任务的“Section Header”是“现有 Section Header”任务结果之一,则在映射时将其添加到其中。如果没有,新的节标题将附加到现有节标题列表中。

现有的节标题如下所示:

[ "Activity (Last 3 Days)", "Activity (Last 7 days)", "Executable running from disk", "Actions from File"]

对于下面的一组字符串,预期的行为如下:

“事件(过去 30 天)- 应添加新部分

“从磁盘运行的可执行文件”- 应引用相同的现有“从磁盘运行的可执行文件”[考虑到与“可执行文件”相同的可执行文件中的额外“s”。

“文件中的操作”- 应引用相同的现有“文件中的操作”[考虑额外的文章“a”]

是否有任何可用的 python 内置函数可以帮助合并相同的逻辑。或对此算法的任何建议都非常感谢。

最佳答案

在这种情况下,您可能会发现 regular expressions有帮助。您可以使用 re.sub()查找特定的子字符串并替换它们。它将搜索与正则表达式的非重叠匹配项,并用指定的字符串替换它。

import re #this will allow you to use regular expressions

def modifyHeader(header):
#change the # of days to 30
modifiedHeader = re.sub(r"Activity (Last \d+ Days?)", "Activity (Last 30 Days)", header)
#add an s to "executable"
modifiedHeader = re.sub(r"Executable running from disk", "Executables running from disk", modifiedHeader)
#add "a"
modifiedHeader = re.sub(r"Actions from File", "Actions from a file", modifiedHeader)

return modifiedHeader

r"" 指的是 raw strings这使得处理正则表达式所需的 \ 字符变得更容易一些,\d 匹配任何数字字符,+ 表示“1或者更多”。阅读我上面链接的页面以获取更多信息。

关于python - Python Partial String Comparison 需要 String Comparison 的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27653300/

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