112 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			112 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								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
							 | 
						|||
| 
								 | 
							
								```
							 |