Отдельный строковый символ без функции python [дубликат]
Dec 02 2020
Можете ли вы разделить это «+ 2x-5y + 8 + 2y» (между символами нет пробелов), например [+ 2x, -5y, + 8, + 2y] в python? Как?
Ответы
schetefan24 Dec 02 2020 at 22:34
если вы знаете шаблон ввода для всего, что может прийти, взгляните на регулярные выражения
В вашем случае решение может быть чем-то вроде
import re
a = "+2x-5y+8+2y"
print(re.findall(r"[+-]\d[xy]?", a))
re.findall(expression, input)
требует регулярного выражения и аргумента, который должен быть проанализирован. В приведенном выше решении шаблон [+-]\d[xy]?
состоит из
[+-]
символ + или -\d
любая цифра, если вы ожидаете, что\d+
вместо нее будет использоваться несколько цифр (+ означает здесь "хотя бы одно повторение")[xy]?
один из символов x и y, но он может отсутствовать. Если вы ожидаете и других букв, добавьте их в эти скобки.