String methoden

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

String methoden

Beitragvon madthomas » Freitag 10. August 2007, 10:22

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

Beitragvon jens » Freitag 10. August 2007, 10:38

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

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

Beitragvon madthomas » Freitag 10. August 2007, 10:47

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
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 10. August 2007, 10:57

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

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

Beitragvon madthomas » Freitag 10. August 2007, 11:52

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: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Freitag 10. August 2007, 12:32

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

Beitragvon BlackJack » Freitag 10. August 2007, 14:09

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.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder