125 lines
3.8 KiB
Markdown
125 lines
3.8 KiB
Markdown
![]() |
---
|
|||
|
title: Is There a Way to Substring a String in Python
|
|||
|
localeTitle: Есть ли способ подстроить строку в Python
|
|||
|
---
|
|||
|
## Есть ли способ подстроить строку в Python
|
|||
|
|
|||
|
Python предлагает множество способов подстроки строки. Его часто называют «срезанием».
|
|||
|
|
|||
|
Он следует этому шаблону:
|
|||
|
|
|||
|
```python
|
|||
|
string[start: end: step]
|
|||
|
```
|
|||
|
|
|||
|
Куда,
|
|||
|
|
|||
|
`start` : начальный индекс подстроки. Символ в этом индексе включен в подстроку. Если _старт_ не включен, предполагается, что он равен 0.
|
|||
|
|
|||
|
`end` : `end` индекс подстроки. Символ в этом индексе _НЕ_ входит в подстроку. Если _конец_ не включен или если указанное значение превышает длину строки, оно считается равным длине строки по умолчанию.
|
|||
|
|
|||
|
`step` : Каждый символ «step» после текущего символа, который будет включен. Значение по умолчанию равно 1. Если значение _шага_ опущено, предполагается, что оно равно 1.
|
|||
|
|
|||
|
#### шаблон
|
|||
|
|
|||
|
`string[start:end]` : получить все символы от _начала_ индекса до _конца-1_
|
|||
|
|
|||
|
`string[:end]` : получить все символы от начала строки до _конца-1_
|
|||
|
|
|||
|
`string[start:]` : получить все символы от _начала_ индекса до конца строки
|
|||
|
|
|||
|
`string[start:end:step]` : получить все символы от _начала_ до _конца-1,_ уклоняясь от каждого _шага_
|
|||
|
|
|||
|
#### Примеры
|
|||
|
|
|||
|
* **Получить первые 5 символов строки**
|
|||
|
|
|||
|
```python
|
|||
|
string = "freeCodeCamp"
|
|||
|
print(string[0:5])
|
|||
|
```
|
|||
|
|
|||
|
Вывод:
|
|||
|
|
|||
|
```shell
|
|||
|
> freeC
|
|||
|
```
|
|||
|
|
|||
|
Примечание: `print(string[:5])` возвращает тот же результат, что и `print(string[0:5])`
|
|||
|
|
|||
|
* **Получить подстроку длиной 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
|
|||
|
|
|||
|
```
|