125 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			125 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Is There a Way to Substring a String in Python | |||
|  | localeTitle: 有没有办法在Python中子串字符串 | |||
|  | --- | |||
|  | ## 有没有办法在Python中子串字符串
 | |||
|  | 
 | |||
|  | Python提供了许多方法来对字符串进行子串。它通常被称为“切片”。 | |||
|  | 
 | |||
|  | 它遵循以下模板: | |||
|  | 
 | |||
|  | ```python | |||
|  | string[start: end: step]  | |||
|  | ``` | |||
|  | 
 | |||
|  | 哪里, | |||
|  | 
 | |||
|  | `start` :子字符串的起始索引。此索引处的字符包含在子字符串中。如果不包括_start_ ,则假定它等于0。 | |||
|  | 
 | |||
|  | `end` :子字符串的终止索引。此索引处的字符_不_包含在子字符串中。如果未包括_end_ ,或者指定的值超出字符串长度,则默认情况下假定它等于字符串的长度。 | |||
|  | 
 | |||
|  | `step` :包含当前字符后的每个“step”字符。默认值为1.如果省略_步长_值,则假定它等于1。 | |||
|  | 
 | |||
|  | #### 模板
 | |||
|  | 
 | |||
|  | `string[start:end]` :获取从index _start_到_end-1的_所有字符 | |||
|  | 
 | |||
|  | `string[:end]` :获取从字符串开头到_end-1的_所有字符 | |||
|  | 
 | |||
|  | `string[start:]` :获取索引_start_到字符串末尾的所有字符 | |||
|  | 
 | |||
|  | `string[start:end:step]` :从_开始_到_结束-1_获取每个_步骤_字符的所有字符 | |||
|  | 
 | |||
|  | #### 例子
 | |||
|  | 
 | |||
|  | *   **获取字符串的前5个字符** | |||
|  | 
 | |||
|  | ```python | |||
|  | string = "freeCodeCamp"  | |||
|  |  print(string[0:5])  | |||
|  | ``` | |||
|  | 
 | |||
|  | 输出: | |||
|  | 
 | |||
|  | ```shell | |||
|  | > freeC 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | 注意: `print(string[:5])`返回与`print(string[0:5])`相同的结果`print(string[0:5])` | |||
|  | 
 | |||
|  | *   **从字符串的第3个字符获取长度为4的子字符串** | |||
|  | 
 | |||
|  | ```python | |||
|  | string = "freeCodeCamp"  | |||
|  |  print(string[2:6])  | |||
|  | ``` | |||
|  | 
 | |||
|  | 输出: | |||
|  | 
 | |||
|  | ```shell | |||
|  | > eeCo 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | 请注意,开始或结束索引可能是负数。负索引意味着您从字符串的末尾开始计数而不是从开头(即从右到左)开始计数。索引-1表示字符串的最后一个字符,-2表示倒数第二个字符,依此类推...... | |||
|  | 
 | |||
|  | *   **获取字符串的最后一个字符** | |||
|  | 
 | |||
|  | ```python | |||
|  | string = "freeCodeCamp"  | |||
|  |  print(string[-1])  | |||
|  | ``` | |||
|  | 
 | |||
|  | 输出: | |||
|  | 
 | |||
|  | ```shell | |||
|  | > p 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | *   **获取字符串的最后5个字符** | |||
|  | 
 | |||
|  | ```python | |||
|  | string = "freeCodeCamp"  | |||
|  |  print(string[-5:])  | |||
|  | ``` | |||
|  | 
 | |||
|  | 输出: | |||
|  | 
 | |||
|  | ```shell | |||
|  | > eCamp 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | *   **获取包含除最后4个字符和第1个字符之外的所有字符的子字符串** | |||
|  | 
 | |||
|  | ```python | |||
|  | string = "freeCodeCamp"  | |||
|  |  print(string[1:-4])  | |||
|  | ``` | |||
|  | 
 | |||
|  | 输出: | |||
|  | 
 | |||
|  | ```shell | |||
|  | > reeCode 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | #### 更多例子
 | |||
|  | 
 | |||
|  | ```py | |||
|  | str = “freeCodeCamp”  | |||
|  |   | |||
|  |  print str[-5:-2] # prints 'eCa'  | |||
|  |  print str[-1:-2] # prints '' (empty string)  | |||
|  | ``` | |||
|  | 
 | |||
|  | *   **从字符串中获取每个其他字符** | |||
|  | 
 | |||
|  | ```python | |||
|  | string = "freeCodeCamp"  | |||
|  |  print(string[::2])  | |||
|  | ``` | |||
|  | 
 | |||
|  | 输出: | |||
|  | 
 | |||
|  | ```shell | |||
|  | > feCdCm 
 | |||
|  | 
 | |||
|  | ``` |