Prinzipiell ist meine folgenden Frage gar nicht so schwer.
Jedoch hat mich meine Recherche im Python-Forum und das dazugehörige Googlen zur verunsichert.
Veraltete Varianten. In Zukunft nicht mehr verfügbare Versionen usw. haben mich ein wenig verwirrt.
Es geht mir also nicht um irgendeine Lösung (die würde ich selber hin bekommen), sondern um eine / die Lösung, die ich heute am besten benutze.
In einem String befindet sich ein Stringteil, der mit '!!' beginnt und mit '??' endet.
Zwischen diesen beiden Begrenzungen können unterschiedlich viele Zeichen sein.
Der gefundene String wird dann ausgewertet, und ein weiterer, neuer String erzeugt, der den '!!jlsdfhglsdklhjlkhjdlghjlkjdklghjl??' dann ersetzt.
Ich würde das Problem sehr konservativ angehen.
Aber Python hat bestimmt ganz tolle Funktionen dafür.
Danke.
MrNiceTry
Sting in einem Anderen finden und ersetzen
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
http://docs.python.org/library/re.html
Code: Alles auswählen
>>> t = """fooo bar !!this has to be replaced?? bar foo"""
>>> import re
>>> pattern = r"!!(.*?)\?\?"
>>> re.sub(pattern, "test", t)
'fooo bar test bar foo'
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Ja, das dürfte meine Lösung sein.
Ich glaube ich habe gerade den 1. Preis im VielLesenMüssen gewonnen.
Danke für die Unterstützung.
Ich bin dann mal weg ... zum Lesen.
MrNiceTry
Ich glaube ich habe gerade den 1. Preis im VielLesenMüssen gewonnen.
Danke für die Unterstützung.
Ich bin dann mal weg ... zum Lesen.
MrNiceTry
cofi hat geschrieben:http://docs.python.org/library/re.html
Code: Alles auswählen
>>> t = """fooo bar !!this has to be replaced?? bar foo""" >>> import re >>> pattern = r"!!(.*?)\?\?" >>> re.sub(pattern, "test", t) 'fooo bar test bar foo'