Zeilenform eines Textes durch Python verändern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Alicia_Carlos
User
Beiträge: 4
Registriert: Donnerstag 19. November 2009, 18:21

Hallo zusammen,

ich habe folgendes Problem :oops: :

Wie kann man die Zeilenform eines Textes für allgemeine Fälle verändern?

Beispiel:

Wir haben z.B. folgenden Text:

Der Mann brauchte 3h 20 min um den Fluss Rio Oro zu überqueren!

der umgewandelt werden soll in:

Der Mann brauchte 3 St. "20" um den Fluss R.O. zu überqueren!

und dies soll für "allgemeine Fälle" gelten und nicht nur für diese expliziten Beispiele:

z.B. muss auch:

Der Mann brauchte 4h 12 min um den Fluss Rio Oro zu überqueren!

in:

Der Mann brauchte 4 St. "12" um den Fluss R.O. zu überqueren!


also allgemein:

Der Mann brauchte (Zahl)h (Zahl) min um den Fluss Rio Oro zu überqueren!

in:

Der Mann brauchte (Zahl) St. "(Zahl)" um den Fluss R.O. zu überqueren!

und das für alle Zeilen des Textes!

Danke euch! :oops:
problembär

Übersetz' mal das nach Python (mit dem Modul "re"):

Code: Alles auswählen

perl -e '$a="Der Mann brauchte 4h 12 min um den Fluss Rio Oro zu überqueren!";$a=~s/(\d+)h (\d+) min/$1 St\. \"$2\"/g;print "$a\n";'
Ich mach' hier nicht Deine Arbeit :evil:, vor allem, wenn Du Dich noch nicht mal mehr zu dem Java-Code-Thread äußerst.

Gruß
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Alicia_Carlos hat geschrieben: also allgemein:

Der Mann brauchte (Zahl)h (Zahl) min um den Fluss Rio Oro zu überqueren!

in:

Der Mann brauchte (Zahl) St. "(Zahl)" um den Fluss R.O. zu überqueren!
Wenn es genau dabei bleibt, schau Dir mal string.split() an und dann string.join().

Ansonsten (Wenn also das drum herum anders sein kann also z.B. mehr Wörter drum herum) wirst Du an einem RegExp nicht vorbeikommen denke ich. Dazu schau Dir das re-Modul an. Dazu Kodos o.ä. zum Testen der selbigen.
Alicia_Carlos hat geschrieben: und das für alle Zeilen des Textes!
Na das sind ja echt Basics. Es kommt natürlich drauf an, wie der Text vorliegt. Wenn es pro Zeile der Satz ist, dann ist es echt einfach! Wenn nicht, müßtest Du den Text eben noch an den Satzendezeichen "aufbrechen" (s.o.).
Antworten