Carattere stringa separato senza funzione python [duplicato]
Dec 02 2020
Puoi separare questo "+ 2x-5y + 8 + 2y" (non ci sono spazi tra i caratteri) come [+ 2x, -5y, + 8, + 2y] in python? Come?
Risposte
schetefan24 Dec 02 2020 at 22:34
se conosci il modello dell'input per tutto ciò che potrebbe arrivare, dai un'occhiata alle espressioni regolari
Nel tuo caso, una soluzione potrebbe essere qualcosa di simile
import re
a = "+2x-5y+8+2y"
print(re.findall(r"[+-]\d[xy]?", a))
re.findall(expression, input)richiede un'espressione regolare e un argomento che deve essere analizzato Nella soluzione precedente, il modello è [+-]\d[xy]?costituito da
[+-]un simbolo + o -\dqualsiasi cifra, se ti aspetti più cifre usa\d+invece (+ che significa qui "almeno una ripetizione")[xy]?uno dei caratteri x e y, ma potrebbe mancare. Se ti aspetti anche altre lettere, aggiungile all'interno di queste parentesi