Is er een manier om een string te substringen in Python, om een nieuwe string te krijgen vanaf het derde karakter tot het einde van de string?
Misschien zoals mijnString[2:einde]
?
Als het verlaten van het tweede deel betekent 'tot het einde', en als je het eerste deel verlaat, begint het dan vanaf het begin?
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'
Python noemt dit concept "slicing" en het werkt op meer dan alleen strings. Kijk hier voor een uitgebreide introductie.
Eén voorbeeld lijkt hier te ontbreken: volledige (ondiepe) kopie.
>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>
Dit is een veelgebruikte idioom voor het maken van een kopie van sequentietypes (niet van geïnterneerde strings), [:]
. Shallow kopieert een lijst, zie Python list slice syntax used for no obvious reason.
Je hebt het goed, behalve voor "end". Het'heet slice notatie. Je voorbeeld zou moeten luiden:
new_sub_string = myString[2:]
Als je de tweede parameter weglaat, is dat impliciet het einde van de string.