#python #string
Вопрос:
У меня есть такая строка:
s='Domaine de la Charbonniere 2016(B-L2-087-AB-356 ) x3 | Domaine de la 2016( D-L2-021-AB-647) x2'
Может кто-нибудь сказать мне, как я могу извлечь тексты и сделать из них словарь, как показано ниже:
{'B-L2-087-AB-356':3, 'D-L2-021-AB-647':2}
Ключ-это код, а значение-это количество.
Большое спасибо!
Ответ №1:
Вы можете использовать re
модуль для этой задачи:
import re
s = "Domaine de la Charbonniere 2016(B-L2-087-AB-356 ) x3 | Domaine de la 2016( D-L2-021-AB-647) x2"
out = {k: int(v) for k, v in re.findall(r"(s*(.*?)s*).*?x(d )", s)}
print(out)
С принтами:
{'B-L2-087-AB-356': 3, 'D-L2-021-AB-647': 2}