Teilstring

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

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?
Gruß aus DD
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Lies Dir mal das Tutorial über Strings durch... Stichwort "Slicing" :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

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.
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

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
Gruß aus DD
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

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.
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

"Ja, warum einfach, wenn es auch umständlich geht"
Aber das war nicht meine letzte elementare Frage - neues Thema.
Gruß aus DD
Antworten