Оригінальна публікація: How to Substring a String in Python

Python пропонує багато способів, щоб витягти підрядок з рядка. Часто це називають «slicing».

Ось синтаксис:

string[start:end:step]

В якому:

start — початковий індекс підрядка. Символ у цьому індексі враховано в підрядку. Якщо start не враховано, його приймають рівним 0.

end — кінцевий індекс підрядка. Символ у цьому індексі не враховано в підрядку. Якщо end не враховано, або задане значення перевищує довжину рядка, його вважають рівним довжині рядка за замовчуванням.

step — кожен «кроковий» символ після поточного символу враховано. Значення за замовчуванням рівне 1. Якщо step не враховано, його приймають рівним 1.

Основне використання

string[start:end]: отримати всі символи від start до end - 1

string[:end]: отримати всі символи від початку рядка до end - 1

string[start:]: отримати всі символи від start до кінця рядка

string[start:end:step]: отримати всі символи від start до end - 1, не враховуючи кожен символ step

Приклади

1. Отримайте перші 5 символів рядка

string = "freeCodeCamp"
print(string[0:5])

Вивід:

> freeC

Зауважте, що print(string[:5]) повертає такий самий результат, що й print(string[0:5])

2. Отримайте підрядок з 4 символів, починаючи з третього символу рядка

string = "freeCodeCamp"
print(string[2:6])

Вивід:

> eeCo

3. Отримайте останній символ рядка

string = "freeCodeCamp"
print(string[-1])

Вивід:

> p

Зауважте, що індекси start або end можуть бути від’ємними числами. Від’ємний індекс означає, що ви починаєте рахувати з кінця, а не з початку (справа наліво).

Індекс -1 представляє останній символ рядка, -2 представляє другий з кінця і так далі.

4. Отримайте 5 останніх символів рядка

string = "freeCodeCamp"
print(string[-5:])

Вивід:

> eCamp

5. Отримайте підрядок, який містить всі символи, окрім першого та останніх 4

string = "freeCodeCamp"
print(string[1:-4])

Вивід:

> reeCode

6. Отримайте кожен другий символ рядка

string = "freeCodeCamp"
print(string[::2])

Вивід:

> feCdCm