Seite 1 von 1
string spliten
Verfasst: Sonntag 17. Januar 2010, 16:13
von zahi
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
Verfasst: Sonntag 17. Januar 2010, 16:19
von EyDu
Hallo.
Das Stichwort lautet
reguläre Ausdrücke.
Sebastian
Verfasst: Sonntag 17. Januar 2010, 17:00
von cofi
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,
Verfasst: Sonntag 17. Januar 2010, 20:46
von zahi
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?
Verfasst: Sonntag 17. Januar 2010, 20:58
von cofi
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.
Verfasst: Sonntag 17. Januar 2010, 21:08
von zahi
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?
Verfasst: Sonntag 17. Januar 2010, 21:11
von jbs
Verfasst: Sonntag 17. Januar 2010, 21:20
von cofi
zahi: Erzaehl uns doch mal, was du eigentlich machen willst - vorrausgesetzt jbs' Vorschlag hilft dir nicht.
Verfasst: Sonntag 17. Januar 2010, 21:23
von zahi
hey danke auf so was wäre ich nicht gekommen

Verfasst: Sonntag 17. Januar 2010, 21:29
von /me
zahi hat geschrieben:hey danke auf so was wäre ich nicht gekommen

Arbeite mal das
Tutorial durch.
Diese Syntax findet sich ziemlich weit vorne unter
http://docs.python.org/tutorial/introdu ... ml#strings
Verfasst: Sonntag 17. Januar 2010, 23:22
von sma
Code: Alles auswählen
import re
for s in "AA02", "B2710":
print re.findall("([A-Z]+)([0-9]+)", s)
Stefan
Verfasst: Montag 18. Januar 2010, 11:15
von zahi
danke das klappt alles super ich hab jetzt alle möglichkeiten ausprobiert

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)
Verfasst: Montag 18. Januar 2010, 11:32
von /me
zahi hat geschrieben:danke das klappt alles super ich hab jetzt alle möglichkeiten ausprobiert

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?
Verfasst: Montag 18. Januar 2010, 14:27
von zahi
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
Verfasst: Montag 18. Januar 2010, 14:46
von /me
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.