Объединить несколько команд замены - PullRequest
2 голосов
/ 06 марта 2019

У меня есть строка, и я хочу ее очистить, для этого я использую несколько команд замены.

Есть ли лучший способ сделать это?

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 ]

3 голосов
/ 06 марта 2019

Попробуйте использовать 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]
2 голосов
/ 06 марта 2019

Вы также можете использовать следующий подход:

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...