Seite 1 von 1

Sting in einem Anderen finden und ersetzen

Verfasst: Mittwoch 10. März 2010, 13:01
von MrNiceTry
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

Verfasst: Mittwoch 10. März 2010, 13:06
von ms4py
Reguläre Ausdrücke:
[mod]re[/mod]

Verfasst: Mittwoch 10. März 2010, 13:08
von cofi
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'

Verfasst: Mittwoch 10. März 2010, 13:29
von MrNiceTry
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

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'