Caractère de chaîne séparé sans fonction python [dupliquer]
Dec 02 2020
Pouvez-vous séparer ce "+ 2x-5y + 8 + 2y" (il n'y a pas d'espaces entre les caractères) comme [+ 2x, -5y, + 8, + 2y] en python? Comment?
Réponses
schetefan24 Dec 02 2020 at 22:34
si vous connaissez le modèle de l'entrée pour tout ce qui pourrait entrer, jetez un œil aux expressions régulières
Dans votre cas, une solution pourrait être quelque chose comme
import re
a = "+2x-5y+8+2y"
print(re.findall(r"[+-]\d[xy]?", a))
re.findall(expression, input)
nécessite une expression régulière et un argument qui doivent être analysés Dans la solution ci-dessus, le modèle se [+-]\d[xy]?
compose de
[+-]
soit un symbole + ou un -\d
n'importe quel chiffre, si vous prévoyez d'utiliser plusieurs chiffres à la\d+
place (+ signifiant ici "au moins une répétition")[xy]?
l'un des caractères x et y, mais il peut manquer. Si vous attendez également d'autres lettres, ajoutez-les entre ces crochets