Angenommen, ich ein sympy Ausdruck wie dieses:Ersetzen eines Teils des sympy Ausdruck
x = (1+ r70f * C2H4 *H+ r71* O)
wo r70f, C2H4, H , r71, O
sympy Variablen sind. Ich will es zu dem folgenden Ausdruck ändern:
x = (1+ k(r70f) * c(sC2H4) *c(sH)+ k(r71)* c(sO))
Grundsätzlich r_SomeNumber_f
zu k(r_SomeNumber_f)
ersetzen und ersetzen C2H4
oder H
oder O
-c(sC2H4)
oder c(sH)
oder c(sO)
ist.
Ich versuche, reguläre Ausdrücke zu verwenden, aber re.sub
brauchen str
, aber sie sind alle Objekte und das macht Dinge kompliziert !!!
Zeigen Sie genau, wie Sie den Ausdruck ausführen, und versuchen Sie, die Regex anzuwenden. Dein Versuch ergibt überhaupt keinen Sinn wie du es beschreibst. –
Warum werden 'r70f' und' r71' '' '', während 'C2H4',' H' und 'O'' '' 'werden? Was bestimmt, welcher Ersatz vorgenommen werden sollte? – ctwheels
@ctwheels Wenn eine Variable die Form 'r_SomeNumberOrLetter' hat, wird sie k erhalten. Wenn es eine Kombination aus Großbuchstaben und Zahlen oder nur Großbuchstaben ist, wird es "c". – Push