Seite 1 von 1

Teilstring

Verfasst: Montag 31. Dezember 2012, 13:16
von kbe
Ich suche mich dumm und dämlich nach einer Funktion, die aus einem String den Teilstring von Position i bis j zurückgibt.
Kann mir nicht vorstellen, dass es das nicht gibt.
Bin ich blind?

Re: Teilstring

Verfasst: Montag 31. Dezember 2012, 13:22
von Hyperion
Lies Dir mal das Tutorial über Strings durch... Stichwort "Slicing" :-)

Re: Teilstring

Verfasst: Montag 31. Dezember 2012, 14:16
von pixewakb
Ich denke, dass er es inzwischen gefunden hat.

Code: Alles auswählen

>>> a = "Text"
>>> a[:2]
'Te'
>>> a[2:]
'xt'
>>> a[1:3]
'ex'
>>> a[:-2]
'Te'
>>> a[:-1]
'Tex'
>>> 
Danach dürftest du gesucht haben.

Re: Teilstring

Verfasst: Montag 31. Dezember 2012, 14:24
von kbe
Ja, er hat es.
Ich habe immer nach einer Funktion gesucht.
Dabei ist es noch elementarer.

EdiT:
2: täuscht die letzten beiden vor, ist aber, die ersten beiden weg.
es geht z.B.
1. umdrehen
2. erste beiden
3. umdrehen

Oder einfacher
1. Länge ermitteln,
2. Länge minus 2 weg von vorn

Re: Teilstring

Verfasst: Montag 31. Dezember 2012, 15:06
von snafu
Du brauchst die Länge nicht gesondert zu ermitteln. Wenn du z.B. nur die letzten beiden haben möchtest:

Code: Alles auswählen

>>> 'sfhgkdkhzghdtkt'[-2:]
'kt'
Es zählt immer Startpunkt:Endpunkt. Wobei beides jeweils optional ist und daher weggelassen werden kann.

Achja, und Startpunkt ist inklusiv, während Endpunkt exklusiv ist. Das heißt, der Endpunkt ist eine Art Stoppmarkierung und wird *nicht* ins Ergebnis aufgenommen. Siehe dein schon erwähntes Beispiel:

Code: Alles auswählen

>>> 'sfhgkdkhzghdtkt'[:2]
'sf'
Es wird also Index 0-1 genommen und Index 2 ist nicht mit drin.

Re: Teilstring

Verfasst: Montag 31. Dezember 2012, 15:47
von pixewakb
Btw - man kann damit auch einen String einfach umdrehen. Das steht - wenn ich es gerade nicht überlesen habe - so nicht direkt im Tutorial:

Code: Alles auswählen

>>> 'Test'[::-1]
'tseT'
Das ist manchmal ganz hilfreich.

Re: Teilstring

Verfasst: Montag 31. Dezember 2012, 18:38
von kbe
"Ja, warum einfach, wenn es auch umständlich geht"
Aber das war nicht meine letzte elementare Frage - neues Thema.