Text einlesen und nach jedem x-ten Wort ein Wort einfügen

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
Apeking
User
Beiträge: 1
Registriert: Dienstag 1. Dezember 2009, 17:48

Hallo,
ich versuche ein Programm zu erstellen, das einen Text einliest und dann nach jedem x-ten Wort ein bestimmtes Wort einfügt. So ähnlich wie hier:

http://www.python-forum.de/viewtopic.ph ... f9e9fb8ed4

Die Idee von ice2k3 ist auch ganz gut allerdings sind das ja nur Elemente und ich bräuchte was mit Tokens.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Wenn du einfach Wörter willst, kannst du einfach str.split() verwenden.

Für komplexere Tokens kannst du reguläre Ausdrücke verwenden, z.B. "re.split()" oder die anderen Methoden in "re".

P.S. Man hat mich letztendlich überzeugt, BlackJacks-Lösung ist die performantere.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das ist ja mal gleich viel einfacher:

Code: Alles auswählen

In [41]: text = u"Das ist ein langer langer Text mit vielen Wörtern!"

In [42]: step = 5

In [43]: for index, word in enumerate(text.split()):
   ....:     if not index % step:                              
   ....:         print "Eingefügt!"                
   ....:     else:
   ....:         print word
   ....:                   
   ....:                   
Eingefügt!                 
ist                        
ein
langer
langer
Eingefügt!
mit
vielen
Wörtern!
Antworten