Zeichenketten zerlegen mit python

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

Zeichenketten zerlegen mit python

Beitragvon THingK » Mittwoch 5. Oktober 2005, 21:45

Hi, ...
Wie kann ich in python Zeichenketten zelegen und wieder zusammensetzen,
so wie es für cvs-Format notwendig ist?

Folgendes Problem:

# aus
12345123456781234567890123456123456789
# mach
12345;12345678;1234567890;123456;123456789

so heißen:
a= substr(string,1,5)
b= substr(string,6,8)
c= substr(string,14,10)
d= substr(string,24,6)
e= substr(string,30,9)
f = a + ';' + b + ';' + c + ';' + d + ';' + e

Das geht ja leider so nicht.
Danke!

Edit (Leonidas): Thread verschoben.
BlackJack

Beitragvon BlackJack » Donnerstag 6. Oktober 2005, 00:31

Substrings bekommt man in Python mit der "Slice"-Syntax: `string[start:end]` wobei `start` der Index des ersten Zeichens beginnend mit 0 für das erste Zeichen einer Zeichenkette ist, und `end` der Index des ersten Zeichens, das *nicht* mehr enthalten sein soll.

Dein Problem kann man so angehen:

Code: Alles auswählen

import sys
import csv

data = '12345123456781234567890123456123456789'
positions = ((0, 5), (5, 8), (13, 10), (23, 6), (29, 9))

fields = [data[start:start+length] for start, length in positions]

# Simple solution:
print ';'.join(fields)

# Safer solution:
writer = csv.writer(sys.stdout, delimiter=';')
writer.writerow(fields)


Für das Zusammenfügen habe ich zwei Lösungen geschrieben. Die erste ist die Einfacherere, die zweite die Sicherere die das `csv` Modul benutzt. Die funktioniert auch dann, wenn das Semikolon in `data` vorkommt.
THingK

Zeichenketten zerlegen

Beitragvon THingK » Donnerstag 6. Oktober 2005, 22:02

:P Danke für die schnelle Antwort !!!

Da ich noch nicht erkannt habe, wie python "denkt", nun meine neue Frage:

Wo erlese ich mir die Grundlagen (Paradigmen) der Sprachsysntax-Zusammenhänge am besten?

Mein Lehrbuch ist von Michael Weigert / 2. Auflage / Objektorientierte Programmierung mit Python / mitp-Verlag.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Zeichenketten zerlegen

Beitragvon Leonidas » Freitag 7. Oktober 2005, 12:20

THingK hat geschrieben:Wo erlese ich mir die Grundlagen (Paradigmen) der Sprachsysntax-Zusammenhänge am besten?

Mein Lehrbuch ist von Michael Weigert / 2. Auflage / Objektorientierte Programmierung mit Python / mitp-Verlag.

Ja, lies das durch (mawe würde sicher sagen: gute Wahl), schreibe viele Wegwerf-Programme, dann bekommst du ein Gefühl wie man mit Python arbeitet.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder