@hey_umbrella

Как перебрать одно слово в каждой строке?

elif '<math-input-answer>' in answer_row['content']:
            correct= answer_row['content'].partition('<math-input-answer>')[2].partition('</math-input-answer>')[0]
            print(correct)


Я этим кодом достаю из этого текста значения,которые находятся внутри тега math-input-answer ,но сейчас он достает только первое значение x+y,а дальше не идет,как правильно засунуть это в цикл?
<p><vim-math id="m7859635math1">AB+CD=|</vim-math><math-input id="m7859635MI1" keyboard-skin="junior" keyboard-type="base" strict-check="false">
  <math-input-answer>x+y</math-input-answer>
  <math-input-answer>y+x</math-input-answer>
</math-input><vim-math id="m7859635math2">|+|</vim-math><math-input id="m7859635MI2" keyboard-skin="junior" keyboard-type="base" strict-check="false">
  <math-input-answer>t+z</math-input-answer>
  <math-input-answer>z+t</math-input-answer>
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
data = '''<p><vim-math id="m7859635math1">AB+CD=|</vim-math><math-input id="m7859635MI1" keyboard-skin="junior" keyboard-type="base" strict-check="false">
  <math-input-answer>x+y</math-input-answer>
  <math-input-answer>y+x</math-input-answer>
</math-input><vim-math id="m7859635math2">|+|</vim-math><math-input id="m7859635MI2" keyboard-skin="junior" keyboard-type="base" strict-check="false">
  <math-input-answer>t+z</math-input-answer>
  <math-input-answer>z+t</math-input-answer>'''
  
string = '<math-input-answer>'
results =[]
 
def get_text(line):
    line = line.split('>')[1]
    line = line.split('<')[0]
    return line
     
for line in data.splitlines():
    if string in line:
        result = get_text(line)
        results.append(result)
print(results)

Тут я сочинил совершенно безобразную функцию парсинга, потому что лень прикручивать к примеру, натыканному на телефоне, bs4 или ещё что-нибудь такое, или сочинять regex…
вместо неё можно подставить более другую на своё усмотрение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы