删除下划线后的字符

时间:2017-11-13 00:11:52

标签: python string arcmap

我在弧形图中有照片文件,文件名如下: image_name = (1-3#s)_(10#'s).jpg。例如:

1_1z1z1z1z1z.jpg
599_iiiiiiiiii.jpg

我想删除下划线(_)后面的6个字符,然后删除(.jpg)。例如,结果将是:

1_1z1z
599_iiii

image_name.strip('jpg')将文件扩展名作为简单表达式删除,但我无法弄清楚如何在高级部分中创建组合字符串命令以适应第二个规则。

1 个答案:

答案 0 :(得分:0)

您可以使用re.sub匹配.{6}后的前6个字符(任意6个字符_)并将其全部删除。然后还从结果中删除固定的.jpg

>>> name = '123_1a2b3c4d5e.jpg'
>>> re.sub('_.{6}', '_', name).replace('.jpg', '')
'123_4d5e'

请注意,str.strip('jpg') 是一种安全(或正确)方式来剥离jpg扩展名。 str.strip将删除给定字符的所有前导和尾随实例,例如:

>>> 'jppj-test-jpg'.strip('jpg')
'-test-'