String methoden

Gute Links und Tutorials könnt ihr hier posten.
Antworten
madthomas
User
Beiträge: 35
Registriert: Dienstag 7. August 2007, 10:32
Wohnort: WND
Kontaktdaten:

Gibt es ein Textdokument in deutsch wo alle String methoden drin stehen?
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

IMHO nein. Aber es gibt bei [wiki]Tutorial/Strings[/wiki] etwas dazu.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
madthomas
User
Beiträge: 35
Registriert: Dienstag 7. August 2007, 10:32
Wohnort: WND
Kontaktdaten:

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
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dann poste doch mal deinen bisherigen Code und beschreibe genauer was du machen willst...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
madthomas
User
Beiträge: 35
Registriert: Dienstag 7. August 2007, 10:32
Wohnort: WND
Kontaktdaten:

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
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
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.
Antworten