【发布时间】:2019-04-25 14:39:47
【问题描述】:
我想在给定子字符串最后一次出现之前获取字符串。
我的字符串是,
路径 = 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'
>>>
纯粹使用正则表达式有什么更好的方法吗?
请注意我已经尝试了很多例如:
我通过使用带有切片的正则表达式得到了答案,但我想单独使用正则表达式来实现..
【问题讨论】:
标签: python regex python-3.x