结合多个替换命令

时间:2019-03-06 06:09:03

标签: python string replace

我有一个字符串,我想清理它,因为我正在使用多个替换命令。

有更好的方法吗?

a = '[[<Package 9.00x6.00x5.60>, <Package 8.75x6.60x5.60>]]'

a.replace("[<Package ","").replace(">]","").replace("<Package ","").replace(">","")

结果:

'[9.00x6.00x5.60, 8.75x6.60x5.60]'

2 个答案:

答案 0 :(得分:3)

尝试使用re.sub

a = '[[<Package 9.00x6.00x5.60>, <Package 8.75x6.60x5.60>]]'
output = re.sub(r'<Package ([^>]+)>', r'\1', a)
# remove outer [] brackets
output = output[1:-1]
print(output)

[9.00x6.00x5.60, 8.75x6.60x5.60]

答案 1 :(得分:2)

您还可以使用以下方法:

import re

a = '[[<Package 9.00x6.00x5.60>, <Package 8.75x6.60x5.60>]]'
output = '[' + ''.join(re.split('[><[\]]|Package ',a)) + ']'
print(output)

使用分隔符><][Package在列表中分割字符串,然后将结果连接到一个字符串,并添加外括号。

输出:

[9.00x6.00x5.60, 8.75x6.60x5.60]