如何删除短语,然后删除2个字符?

时间:2017-08-03 01:26:58

标签: python regex

我有一个类似于以下

的字符串

circles_b2_test_20130206_rem01_toy.jpg

我希望它看起来像

circles_b2_test_20130206_toy.jpg

如何只删除“rem01”短语? rem之后的数字总是在变化,但我总是希望删除“rem”+2个字符。

2 个答案:

答案 0 :(得分:3)

有点" hacky,"但如果 rem 之后总有2个数字

,那么这应该达到你所追求的目标
str = "circles_b2_test_20130206_rem01_toy.jpg"
idx = str.index("rem")
new_str = str[:idx] + str[idx+6:]

答案 1 :(得分:2)

如果是rem +两个字符,那么您可以使用rem.{2}

如果它是re​​m +两位数,那么你可以使用rem\d{2}

请注意,如果您需要circles_b2_test_20130206_toy.jpg,则需要查看_前面的01,您可以尝试:

import re
file = 'circles_b2_test_20130206_rem01_toy.jpg'
re.sub(r'rem\d{2}_?', '', file)
# 'circles_b2_test_20130206_toy.jpg'