Seite 1 von 1

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

Verfasst: Dienstag 1. Dezember 2009, 19:19
von Apeking
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.

Verfasst: Dienstag 1. Dezember 2009, 19:36
von ms4py
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.

Verfasst: Dienstag 1. Dezember 2009, 19:42
von Hyperion
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!