Seite 1 von 1
Platzhalter im String ersetzen.
Verfasst: Mittwoch 26. September 2012, 11:15
von jesse
Hi,
es gibt doch in vielen Programmen die Möglichkeit, Ausgaben mit Platzhalter zu versehen. Beispiel soll der Datums-Befehl date sein. Hier stehen bspw. %h, %m, %s usw. für Stunde, Minute und Sekunde. Hat Python hierfür ein Modul, wenn man selbst einen solchen Muster-String hat und darin die Platzhalter ersetzen will? Mit regulären Ausdrücken komme ich nicht so ganz weiter...
Jesse
Re: Platzhalter im String ersetzen.
Verfasst: Mittwoch 26. September 2012, 11:25
von cofi
Re: Platzhalter im String ersetzen.
Verfasst: Mittwoch 26. September 2012, 11:43
von BlackJack
@jesse: Wenn ein Programm solche Platzhalter für Datumsangaben anbietet, also insbesondere die von Dir genannten, dann reicht es in der Regel einfach nur die Syntax der C-Funktion `strftime()`, die in ``time.h`` deklariert ist, an den Benutzer weiter. Python macht das mit `time.strftime()`/`datetime.datetime.strftime()` genau so. Nur für den Fall, dass Du jetzt speziell etwas für Zeit- und Datumsangaben gesucht hast.
Edit: Mit regulären Ausdrücken könntest Du Dir auch etwas basteln, denn `re.sub()` kann man als Ersetzungsparameter auch eine Funktion übergeben, die für jeden Treffer mit eben jenem aufgerufen wird und eine Zeichenkette zurück geben muss, die dann als Ersetzung verwendet wird. Das würde ich aber nur machen wenn man mit `string.Template` nicht weiter kommt, denn sonst implementiert man das bloss selber noch einmal nach.
Re: Platzhalter im String ersetzen.
Verfasst: Mittwoch 26. September 2012, 12:01
von jesse
Danke erst einmal. Template Strings hatte ich gesucht.
@BlackJack: Das mit dem Befehl date sollte nur Beispiel sein. Ich will auf gleicher Weise eigene Werte ausgeben, so dass die Ausgabe angepasst werden kann.