freeCodeCamp/guide/english/python/is-there-a-way-to-substring.../index.md

112 lines
2.6 KiB
Markdown
Raw Normal View History

2018-10-12 19:37:13 +00:00
---
title: Is There a Way to Substring a String in Python
---
## Is There a Way to Substring a String in Python
Python offers many ways to substring a string. It is often called 'slicing'.
It follows this template:
```python
string[start: end: step]
```
Where,
`start`: The starting index of the substring. The character at this index is included in the substring. If _start_ is not included, it is assumed to equal to 0.
`end`: The terminating index of the substring. The character at this index is _NOT_ included in the substring. If _end_ is not included, or if the specified value exceeds the string length, it is assumed to be equal to the length of the string by default.
`step`: Every 'step' character after the current character to be included. The default value is 1. If the _step_ value is omitted, it is assumed to equal to 1.
#### Template
`string[start:end]`: Get all characters from index _start_ to _end-1_
`string[:end]`: Get all characters from the beginning of the string to _end-1_
`string[start:]`: Get all characters from index _start_ to the end of the string
`string[start:end:step]`: Get all characters from _start_ to _end-1_ discounting every _step_ character
#### Examples
* **Get the first 5 characters of a string**
```python
string = "freeCodeCamp"
print(string[0:5])
```
Output:
```shell
> freeC
```
Note: `print(string[:5])` returns the same result as `print(string[0:5])`
* **Get a substring of length 4 from the 3rd character of the string**
```python
string = "freeCodeCamp"
print(string[2:6])
```
Output:
```shell
> eeCo
```
Please note that the start or end index may be a negative number. A negative index means that you start counting from the end of the string instead of the beginning (i.e from the right to left). Index -1 represents the last character of the string, -2 represents the second to last character and so on...
* **Get the last character of the string**
```python
string = "freeCodeCamp"
print(string[-1])
```
Output:
```shell
> p
```
* **Get the last 5 characters of a string**
```python
string = "freeCodeCamp"
print(string[-5:])
```
Output:
```shell
> eCamp
```
* **Get a substring which contains all characters except the last 4 characters and the 1st character**
```python
string = "freeCodeCamp"
print(string[1:-4])
```
Output:
```shell
> reeCode
```
#### More examples
```py
str = “freeCodeCamp”
print str[-5:-2] # prints eCa
print str[-1:-2] # prints (empty string)
```
* **Get every other character from a string**
```python
string = "freeCodeCamp"
print(string[::2])
```
Output:
```shell
> feCdCm
```