How to substring a string in Python?


Is there a way to substring a string in Python, to get a new string from the 3rd character to the end of the string?

Maybe like myString[2:end]?

If leaving the second part means 'till the end', if you leave the first part, does it start from the start?

4/24/2019 9:27:40 AM

Accepted Answer

>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
>>> x[2:-2]
'llo Worl'

Python calls this concept "slicing" and it works on more than just strings. Take a look here for a comprehensive introduction.

5/23/2017 12:34:51 PM

Just for completeness as nobody else has mentioned it. The third parameter to an array slice is a step. So reversing a string is as simple as:


Or selecting alternate characters would be:

"H-e-l-l-o- -W-o-r-l-d"[::2] # outputs "Hello World"

The ability to step forwards and backwards through the string maintains consistency with being able to array slice from the start or end.

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow