Hvordan får jeg en delstreng af en streng i Python?

Er der en måde at understrenge en streng i Python på, så man får en ny streng fra det tredje tegn til slutningen af strengen?

Måske som myString[2:end]?

Hvis man forlader den anden del betyder 'indtil slutningen', og hvis man forlader den første del, starter den så fra starten?

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

Python kalder dette koncept for "slicing" og det virker på mere end bare strenge. Tag et kig her for en omfattende introduktion.

Kommentarer (0)

Et eksempel synes at mangle her: fuld (overfladisk) kopi.

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

Dette er et almindeligt idiom til at skabe en kopi af sekvenstyper (ikke af internede strenge), [:]. Shallow kopierer en liste, se Python list slice syntax brugt uden indlysende grund.

Kommentarer (5)

Du har det lige der bortset fra "end". Det kaldes skiveskrivning. Dit eksempel skal lyde som følger:

new_sub_string = myString[2:]

Hvis du udelader den anden parameter, er det implicit slutningen af strengen.

Kommentarer (0)