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
|
|||
|
|
|||
|
```
|