Zeichenextraktion via split
Verfasst: Montag 12. Januar 2015, 18:29
Hallo zusammen,
ich möchte aus einem String mit dem Format "n1.n2.n3!n4" die ersten 3 Zahlen (n1-n3) in ein Dictionary ausgeben.
"n1", "n2", "n3" und "n4" sind dabei "beliebig" lange Ganzahlen, "!" ist ein einzelnes, beliebiges Zeichen.
Z. B. wäre bei "4.3.20r40349" das Ergebnis ['4', '3', '20'], ein weiteres Beispiel:
"42.222.23445_3487", hier sollte in der Liste ['42', '222', '23445'] stehen.
Mit der "split".Methode und einem bekannten Zeichen (z.B. 'r') funktioniert das wie folgt alles wunderbar, es könnte nun aber sein, dass der Begrenzer kein 'r', sondern ein beliebiges anderes, mir nicht bekanntes, Zeichen ist.
Hat jemand evtl. eine Idee, wie man möglichst einfach die ersten 3 Zahlen aus einem String extrahieren kann? Sicher könnte ich mir jetzt irgendwas zusammenmurksen, aber hat evtl. jemand eine handliche Idee wie man aus so einem Stringformat umgeht?
Danke Euch
stielchen
ich möchte aus einem String mit dem Format "n1.n2.n3!n4" die ersten 3 Zahlen (n1-n3) in ein Dictionary ausgeben.
"n1", "n2", "n3" und "n4" sind dabei "beliebig" lange Ganzahlen, "!" ist ein einzelnes, beliebiges Zeichen.
Z. B. wäre bei "4.3.20r40349" das Ergebnis ['4', '3', '20'], ein weiteres Beispiel:
"42.222.23445_3487", hier sollte in der Liste ['42', '222', '23445'] stehen.
Mit der "split".Methode und einem bekannten Zeichen (z.B. 'r') funktioniert das wie folgt alles wunderbar, es könnte nun aber sein, dass der Begrenzer kein 'r', sondern ein beliebiges anderes, mir nicht bekanntes, Zeichen ist.
Code: Alles auswählen
txt="4.3.20r40349"
return {
'major' : int(txt.split('r')[0].split('.')[0]),
'minor' : int(txt.split('r')[0].split('.')[1]),
'patch' : int(txt.split('r')[0].split('.')[2])
}Danke Euch
stielchen