Hallo allerseits
ich versuche gerade folgendes:
der String:
str = abcde/efgh/ijkl/mnop
sollte zu
abcde/efgh
konvertiert werden.
ich wollte es so machen:
erg = string.rfind(str, '/',2)
habe aber festgestellt dass es völlig egal ist ob man eine 2 oder eine 3 oder eine 4 für rfind als optionalen Parameter hinten angibt. Es nimmt immer default 1.
Gibt es denn keinen Aufruf mit diesem optionalen Paramter??
rfind mit Anzahl???
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich hätte es ja so gemacht:
Code: Alles auswählen
st = "abcde/efgh/ijkl/mnop"
# nicht str, da das ein builtin ist
st.rsplit('/', 2)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Danke fürdeine schnelle Antwort Leonidas...
leider kann ich deine Lösung nicht nachmachen..
bei mir kommt die Fehlermeldung:
Du meinet so splitten und dann aus der split-liste den substring rusholen???
Edit (Leonidas): Code in Python Tags gesetzt
leider kann ich deine Lösung nicht nachmachen..
bei mir kommt die Fehlermeldung:
Code: Alles auswählen
>>> st = "ab/cd/ef/gh"
>>> st.rsplit('/',2)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: 'str' object has no attribute 'rsplit'
Edit (Leonidas): Code in Python Tags gesetzt
Welche Python Version hast Du?
evtl. musst du schreiben
Edit.
Zur kurzen Erklärung wieso:
http://docs.python.org/lib/node107.html
Ich glaub seit Version 2.2 sind alle im Modul string enthaltene Funktionen, Methoden des Typs string.
Und rsplit gibts sowieso erst ab Version 2.4
evtl. musst du schreiben
Code: Alles auswählen
import string
st = "abcde/efgh/ijkl/mnop"
new_st = string.rsplit(st, '/', 2)
Zur kurzen Erklärung wieso:
http://docs.python.org/lib/node107.html
Ich glaub seit Version 2.2 sind alle im Modul string enthaltene Funktionen, Methoden des Typs string.
Und rsplit gibts sowieso erst ab Version 2.4
Zuletzt geändert von XT@ngel am Samstag 29. Januar 2005, 20:59, insgesamt 5-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Hi!
Hier eine ganz einfache Lösung
Gruß, mawe
Hier eine ganz einfache Lösung
Code: Alles auswählen
s = 'abcde/efgh/ijkl/mnop'
'/'.join(s.split('/')[0:2])
Danke euch:
@ Leonidas...
ja es liegt an meiner Version.
BIn erst bei 2.3.4
Mit der ./. join Lösung gehts auf alle Fälle
Danke
@ Leonidas...
ja es liegt an meiner Version.
BIn erst bei 2.3.4
Mit der ./. join Lösung gehts auf alle Fälle
Danke
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Updaten, marsch, marsch! *g*Anonymous hat geschrieben:ja es liegt an meiner Version.
BIn erst bei 2.3.4
Vor allem einfachmawe hat geschrieben:Hier eine ganz einfache Lösung
Damit bist du fast schon bei meinen lambda/LC Konstrukten, hehe.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice