Hur får jag fram en delsträng av en sträng i Python?

Finns det ett sätt att substränga en sträng i Python, för att få en ny sträng från det tredje tecknet till slutet av strängen?

Kanske som myString[2:end]?

Om man lämnar den andra delen betyder 'till slutet', och om man lämnar den första delen, börjar det från början?

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 kallar detta koncept för "slicing" och det fungerar inte bara på strängar. Ta en titt här för en omfattande introduktion.

Kommentarer (0)

Ett exempel verkar saknas här: fullständig (ytlig) kopiering.

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

Detta är ett vanligt idiom för att skapa en kopia av sekvenstyper (inte av internerade strängar), [:]. Shallow kopierar en lista, se Python list slice syntax used for no obvious reason.

Kommentarer (5)

Du har rätt där, förutom "end". Det kallas skivnotering. Ditt exempel borde lyda som följer:

new_sub_string = myString[2:]

Om du utelämnar den andra parametern är den implicit slutet på strängen.

Kommentarer (0)