Wie erhalte ich eine Teilzeichenkette einer Zeichenfolge in Python?

Gibt es eine Möglichkeit, eine Zeichenfolge in Python zu unterteilen, um eine neue Zeichenfolge ab dem dritten Zeichen bis zum Ende der Zeichenfolge zu erhalten?

Vielleicht wie myString[2:end]?

Wenn man den zweiten Teil weglässt, bedeutet das 'bis zum Ende', und wenn man den ersten Teil weglässt, fängt es dann am Anfang an?

Lösung
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'

Python nennt dieses Konzept "slicing" und es funktioniert nicht nur bei Zeichenketten. Werfen Sie einen Blick hier für eine umfassende Einführung.

Kommentare (0)

Ein Beispiel scheint hier zu fehlen: die vollständige (oberflächliche) Kopie.

>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>

Dies ist ein gebräuchliches Idiom zum Erstellen einer Kopie von Sequenztypen (nicht von internierten Strings), [:]. Shallow kopiert eine Liste, siehe Python list slice syntax used for no obvious reason.

Kommentare (5)

Bis auf "end" haben Sie alles richtig verstanden. Das nennt man Slice-Notation. Ihr Beispiel sollte lauten:

new_sub_string = myString[2:]

Wenn Sie den zweiten Parameter weglassen, ist er implizit das Ende der Zeichenkette.

Kommentare (0)