Seite 1 von 1

subtring Teilstring ausgeben

Verfasst: Samstag 22. August 2009, 22:15
von py_lo
Hallo,

irgendwie hab ich da ein kleines Verständnisproblem was das ermitteln
eines Teilstrings angeht, vor allem wenn die Position und Länge der
einzelnen Strings nicht fest bestimmt ist.

Also ich habe da z.B. konkret folgenden String:
time = '138 9665 3.60 252.47'

Dieser beinhaltet Frames und Zeitangaben, welche in der Länge variieren - getrennt duch ein Leerzeichen.

In einer anderen Sprache bekomme ich das einfach mit:
Print SUBSTR$(time$,2," ")
>> 3.60
hin.

Ist das denn so kompliziert in Python? Oder hab ich da was übersehen
:?

Verfasst: Samstag 22. August 2009, 22:23
von theliquidwave
Hi.
Das ist einfach mit der str.split(char)-Methode zu lösen:

Code: Alles auswählen

time = "138 9665 3.60 252.47"
parts = time.split(" ")

# ergibt 9665
print parts[1]

for part in parts:
    print part
~ Chris

Verfasst: Samstag 22. August 2009, 22:24
von EyDu
Hallo,

statt zu sagen "in einer anderen Sprache", solltest du besser noch dazu sagen in welcher Sprache. Um am besten sagst du, was für ein Ergebnis du haben willst, ich kann im Moment nur raten:

Code: Alles auswählen

>>> '138 9665 3.60 252.47'.split(" ")
['138', '9665', '3.60', '252.47']
>>> '138 9665 3.60 252.47'.split(" ", 2)
['138', '9665', '3.60 252.47']

Verfasst: Sonntag 23. August 2009, 00:04
von hendrikS
Noch ergänzend: Wenn man am Leerzeichen splitten will, kann man split einfach ohne Parameter benutzen.

Code: Alles auswählen

time = "138 9665 3.60 252.47"
print time.split()[2]

Verfasst: Sonntag 23. August 2009, 09:28
von py_lo
Yup, super vielen Dank das war's! (War ja doch ganz einfach :D )

@EyDu: Sprache war "xprofan", recht unbekannt dachte es würd nicht gerade weiterhelfen.

Verfasst: Sonntag 23. August 2009, 09:48
von sma

Code: Alles auswählen

def substr_dollar(s, i, x):
    return s.split(x)[i]
    
time_dollar = '138 9665 3.60 252.47' 
print substr_dollar(time_dollar, 2, " ")
Stefan

Verfasst: Sonntag 23. August 2009, 11:21
von Leonidas
sma, da sind viel zu wenige Dollarzeichen. Wenn du das schon portieren willst, solldest du zumindest eine Menge Dollarzeichen in die Kommentare reinschreiben dass das simple xprofan-Feeling zumindestens halbwegs rüberkommt ;)

Verfasst: Sonntag 23. August 2009, 12:14
von py_lo
Wusste ich hätts nicht erwähnen sollen...