gpt4 book ai didi

python - 如何获取子字符串最后一次出现之前的字符串?

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

我想在给定子字符串最后一次出现之前获取字符串。

我的字符串是,

path = D:/me/vol101/Prod/cent/2019_04_23_01/image/AVEN_000_3400_img_pic_p1001-1010/pxy/AVEN_000_3400_img-mp4_to_MOV_v1001-1010.mov

我的子字符串 1001-1010 将出现两次。我想要的只是在最后一次出现之前获取字符串。

注意:我的子字符串是动态的,具有不同的填充但只有数字。

我要,

D:/me/vol101/Prod/cent/2019_04_23_01/image/AVEN_000_3400_img_pic_p1001-1010/pxy/AVEN_000_3400_img-mp4_to_MOV_v

我已经使用正则表达式和切片,

>>> p = 'D:/me/vol101/Prod/cent/2019_04_23_01/image/AVEN_000_3400_img_pic_p1001-1010/pxy/AVEN_000_3400_img-mp4_to_MOV_v1001-1010.mov'
>>> q = re.findall("\d*-\d*",p)
>>> q[-1].join(p.split(q[-1])[:-1])
'D:/me/vol101/Prod/cent/2019_04_23_01/image/AVEN_000_3400_img_pic_p1001-1010/pxy/AVEN_000_3400_img-mp4_to_MOV_v'
>>>

纯粹使用正则表达式是否有更好的方法?

请注意我已经尝试了很多例如:

  1. regular expression to match everything until the last occurrence of /
  2. Regex Last occurrence?

我通过使用带切片的正则表达式得到了答案,但我想通过单独使用正则表达式来实现..

最佳答案

为什么要使用 regex。只需使用内置的字符串方法:

path = "D:/me/vol101/Prod/cent/2019_04_23_01/image/AVEN_000_3400_img_pic_p1001-1010/pxy/AVEN_000_3400_img-mp4_to_MOV_v1001-1010.mov"
index = path.rfind("1001-1010")
print(path[:index])

关于python - 如何获取子字符串最后一次出现之前的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55851924/

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