Seite 1 von 1
String methoden
Verfasst: Freitag 10. August 2007, 10:22
von madthomas
Gibt es ein Textdokument in deutsch wo alle String methoden drin stehen?
Verfasst: Freitag 10. August 2007, 10:38
von jens
IMHO nein. Aber es gibt bei [wiki]Tutorial/Strings[/wiki] etwas dazu.
Verfasst: Freitag 10. August 2007, 10:47
von madthomas
Danke aber das hilft mir leider auch nicht wirklich weiter. Ich musste einen Teil aus einem String rauslesen und den Rest in einem neuen string speichern und das wiederholen bis er zuende ist
Verfasst: Freitag 10. August 2007, 10:57
von jens
Dann poste doch mal deinen bisherigen Code und beschreibe genauer was du machen willst...
Verfasst: Freitag 10. August 2007, 11:52
von madthomas
Ich muss ein Programm schreiben welches eine Zeile aus einer Datei einliest. Die Zeilen von Interesse sind durch ein Zeilenumbruch getrennt.
Die Zeile die von Interesse ist sieht wie unten im Bsp. aus.
z.B.
Anfang + A1 + A2 + B1 \n
...........+ B2 + C1 + \n
...........C2 + D1 + \n
...........D2 Ende
Die Punkte dienen als Leerzeichenersatz
Das Problem hab ich schon gelöst
Nach dem Programm sieht meine Zeiel so aus.
Anfang + A1 + A2 + B1 + B2 + C1 + C2 + D1 + D2 Ende
Code: Alles auswählen
def process_lines(lines):
in_block = False
abstand = " "
for line in lines:
if 'Anfang' in line and 'A1' in line:
in_block = True
if 'Ende' in line:
in_block = False
if in_block:
line = line.strip() + ' '
line=line.strip(' ')
yield line
def main():
in_file = open("einlesenf", "r")
out_file = open("ausgabe", "w")
lines = process_lines(in_file)
out_file.writelines(lines)
in_file.close()
out_file.close()
und jetzt hätte ich es halt so aufgrund der Leserlichkeit
Anfang + A1 + A2
............+ B1 + B2
............+ C1 + C2
............+ D1 + D2 Ende
Punkte dienen als Leerzeichen
Verfasst: Freitag 10. August 2007, 12:32
von EyDu
jens hat geschrieben:IMHO nein. Aber es gibt bei [wiki]Tutorial/Strings[/wiki] etwas dazu.
Naja, die Doku liefert schon
einiges. Das sind natürlich nur die Methoden die explizit für Strings verfügbar sind, durch Vererbung kommen natürlich noch weitere hinzu:
diese.
Verfasst: Freitag 10. August 2007, 14:09
von BlackJack
Die Aufgabe sieht IMHO etwas zu komplex für einfaches zeilenweises verarbeiten aus. Da müsste man schon einen echten Parser bemühen oder auf jeden Fall etwas komplizierteren Code schreiben, der die Syntax der Eingabe versteht. Also mindestens den Text zwischen Anfang und Ende einliest, an '+' aufsplittet und dann in Gruppen einteilt, die jeweils auf eine eigene Zeile sollen.
Daran versuche ich mich jetzt mal nicht, weil ich das Gefühl habe wenn wir Code haben der das gewünschte tut, kommt plötzlich noch eine neue Randbedingung dazu, oder die Beispiele sind zu weit vom *echten* Eingabetext entfernt, als das eine Lösung übertragen werden könnte.