@Panda_Code
Сognizer

Как изъять нужные значения из текста?

Мне надо из строки изъять все UPC и Model, и добавить в список, т.е. чтобы в списке было так: ['UPC: 086279034038' , 'Model:FCT22-30HNS '].

Вот код:
import re

page_content = []

page_text = ' 
12" Non-Stick Skillet  
with Helper Handle
Model: FCT22-30HNS 
UPC: 086279034182 
Case Pack: 4
5½ Qt. Sauté Pan with Cover
Model: FCT33-28H 
UPC: 086279034038 
Case Pack: 4
8" Skillet
Model: FCT22-20 
UPC: 086279034007
' 

page_content = re.findall(r'Model^[0-9]+', page_text)
print(page_content)

Подскажете, как правильно написать регулярку?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 2
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Может, без регулярки обойтись?
Я ничего не имею против, но не вижу - зачем.
page_content = []
page_text = '''
12" Non-Stick Skillet  
with Helper Handle
Model: FCT22-30HNS 
UPC: 086279034182 
Case Pack: 4
5½ Qt. Sauté Pan with Cover
Model: FCT33-28H 
UPC: 086279034038 
Case Pack: 4
8" Skillet
Model: FCT22-20 
UPC: 086279034007
'''
for line in page_text.splitlines():
    if 'Model:' in line:
        page_content.append(line)
print(page_content)


['Model: FCT22-30HNS ', 'Model: FCT33-28H ', 'Model: FCT22-20 ']
Ответ написан
sswwssww
@sswwssww
import re

pattern = r'Model:.*|UPC:.*'

text = '''12" Non-Stick Skillet  
        with Helper Handle
        Model: FCT22-30HNS 
        UPC: 086279034182 
        Case Pack: 4
        5½ Qt. Sauté Pan with Cover
        Model: FCT33-28H 
        UPC: 086279034038 
        Case Pack: 4
        8" Skillet
        Model: FCT22-20 
        UPC: 086279034007'''

print(re.findall(pattern, text))

вывод:
['Model: FCT22-30HNS ', 'UPC: 086279034182 ', 'Model: FCT33-28H ', 'UPC: 086279034038 ', 'Model: FCT22-20 ', 'UPC: 086279034007']
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы