首页 > 解决方案 > 从字符串中删除变量号

问题描述

我在一个列表中有几个字符串:

['~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_item2.png', '~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_item3.png', '~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_item4.png'

我需要删除,'item2', 'item3', 'item4'以便以后可以替换为每次传入时都会更改的另一个变量:variable = {changing item}

我已经尝试过类似的东西string.replace("item{i}.format(i) for i in range(20), "")re.sub但我似乎无法让它工作 - 有什么建议吗?

我希望输出[~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_{changing item1}.png~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_{正在改变 item2}.png , ~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_{changing item3}.png]

标签: python

解决方案


您可以像这样使用re.sub替换字符串 ( 'item<number>'):

re.sub(r'item\d+', var, x)

代码

import re

lst = ['~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_item2.png', 'some/thing/0034_item5.png']
var = 'foo'

result = [re.sub(r'item\d+', var, x) for x in lst]
# ['~/tmp/GROUP-G07T01/items/GROUP-G07T01-000021_foo.png', 'some/thing/0034_foo.png']

推荐阅读