string spliten

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.
Antworten
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

hallo zusammen ich hab eine frage
wie kann ich einen sting sinvoll spliten

zb kennzeichen AA02 oder B2710

wie kann ich diese strings so trennen das ich buchstaben und zahlen getrennt hab?
mit split() hat es nicht geklappt

mfg
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Das Stichwort lautet reguläre Ausdrücke.

Sebastian
Das Leben ist wie ein Tennisball.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Passend dazu das Regexp Howto, sehr lesenswert.

Die Alternative waere uebrigens ein eigener Tokenizer, da kommen `str.isalpha` und `str.isdigit` zur Hilfe und machen das auch nicht schwieriger,
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

hmmm der string ist ein unicode und ich kriege als fehler das es unicode ist und es nicht geht wie kann ich in python den casten ?geht das überhaupt?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Bei was bekommst du den "Fehler"? Und wie sieht der genaue Traceback aus?
Nein, casten geht nicht. Python ist stark typisiert. Allerdings kann man das umwandeln lassen, ABER das will man nicht, meistens zumindest.
Also: Need Infos.
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

also ich weiche immer mehr von meinem eigenlichen vorhaben ab
ich hab jetzt einen str() zb M:NE1985 und nun wollt ich davon das letzte zeichen von extrahieren und es in eine variable speichern
dabei bin ich grad auf eine Last() widget gestossen aber ich kann es irgend wie nicht einsetzen ?ist das jetzt python versions abhängig?
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Code: Alles auswählen

c="M:NE1985"[-1]
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

zahi: Erzaehl uns doch mal, was du eigentlich machen willst - vorrausgesetzt jbs' Vorschlag hilft dir nicht.
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

hey danke auf so was wäre ich nicht gekommen :D
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

zahi hat geschrieben:hey danke auf so was wäre ich nicht gekommen :D
Arbeite mal das Tutorial durch.

Diese Syntax findet sich ziemlich weit vorne unter http://docs.python.org/tutorial/introdu ... ml#strings
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Code: Alles auswählen

import re
for s in "AA02", "B2710":
    print re.findall("([A-Z]+)([0-9]+)", s)
Stefan
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

danke das klappt alles super ich hab jetzt alle möglichkeiten ausprobiert :D
jetzt versuch ich mal die vorderen zwei zu trennen
ich geh davon mal aus das es so ähnlich geht nur mit einem anderen befehl

Code: Alles auswählen

import re
for s in "AA02", "B2710":
    print re.findall("([A-Z]+)([0-9]+)", s)
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

zahi hat geschrieben:danke das klappt alles super ich hab jetzt alle möglichkeiten ausprobiert :D
jetzt versuch ich mal die vorderen zwei zu trennen
Tu dir und uns bitte den Gefallen und beschreibe dein Problem so, dass man möglichst nicht über die Fragestellung als solche rätseln muss. Was heißt "die vorderen zwei zu trennen"? Zwei Listeneinträge? Zwei Zeichen? Was?
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

also ich hatte eben einen string HH:ME0204 wovon ich den letzen string getrennt hab nun will ich die ersten beiden zeichen in einem string speichern
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

zahi hat geschrieben:also ich hatte eben einen string HH:ME0204 wovon ich den letzen string getrennt hab nun will ich die ersten beiden zeichen in einem string speichern
Du hast einen String von dem du den letzten String getrennt hast? Wirr sind deine Worte und dunkel deiner Rede Sinn. Meinst du eventuell, dass du den Doppelpunkt als Trenner betrachtest und den String "HH:ME0204" daran in zwei Teile zerlegst?

Wie auch immer, die ersten zwei Zeichen eines Strings sind relativ einfach zu bekommen. Den Link auf das Tutorial hatte ich ja schon gepostet.
Antworten