Ich habe eine Zeichenfolge zu tauschen:Gibt es eine bessere Art und Weise String ohne Platzhalter
>>> s = 'Y/NOUN/dobj>_hold/VERB/ROOT_<membership/NOUN/dobj_<with/ADP/prep_<X/PROPN/pobj_>,/PUNCT/punct'
Und das Ziel ist, zu ändern, um die Position von Y/
zu X/
, also so etwas wie:
>>> s.replace('X/', '@@').replace('Y/', 'X/').replace('@@', 'Y/')
'X/NOUN/dobj>_hold/VERB/ROOT_<membership/NOUN/dobj_<with/ADP/prep_<Y/PROPN/pobj_>,/PUNCT/punct'
Angenommen, es wird kein Konflikt bei der Ersetzung geben, dh X/
und Y/
ist einzigartig und wird nur einmal in der ursprünglichen Zeichenfolge vorkommen.
Gibt es eine Möglichkeit, die Ersetzung ohne den Platzhalter zu tun? Momentan tausche ich ihre Position mit dem Platzhalter @@
.
Verwenden Sie '\ 0' anstelle von' @@ ', um die Wahrscheinlichkeit eines Konflikts zu verringern. – anubhava
Ja, es gibt Wege. Benutzt du Python? –
@ Wiktor ja, Python. – alvas