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?
>>> 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.
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.
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.