Робота з рядками.

Ссылка на документацию

Довга.

len('Hello')

Доступ по ключу, срез.

ms = 'My string'
print(ms[0])
print(ms[0:3])

Пробуємо змінити знак.

ms[1] = 'e'

TypeError: 'str' object does not support item assignment

Рядок це незмінний тип, тому змінювати потрібно функціями (методами), які повертають новий, змінений екземпляр рядка. Наприклад.

ns = ms.replace('M','W')
>> Yy string

Форматування рядків.

Типы операций со строками

Форматування можна зробити за допомогою оператора % або за допомогою методу format.

Знак %

s = 'hello %s' % 'dima'
d = 'hello %s your number is %d' % ('dima', '4')

Оператор format.

'{}, {}, {}'.format('a', 'b', 'c')  # 2.7+ only
'{0}, {1}, {2}'.format('a', 'b', 'c')
'{2}, {1}, {0}'.format('a', 'b', 'c')

Символ f

name = 'Dima'
print(f'Hello {Dima}')

Будь-який рядок це об’єкт пітон з усіма атрибутами та методами тому викликати методи можна відразу після визначення рядка після лапок.

Перевірка типів.

str = 'x = {x_coord}, y = {y_coord:d}'.format(x_coord=23,y_coord=56)

Форматирование числа.

{:,}'.format(1234567890)

Приведення до одного формату (з нулями попереду).

month = '{:02d}'.format(3)

Відсікання чисел після коми. print(‘{:.2f}’.format(222.3333))

Форматування дати.

import datetime
n = datetime.datetime.now()
'{:%Y-%m-%d %H:%M:%S}'
s = 'one,two,three'.split(',')

Злиття

'-'.join(s)

Пошук

string.find(s)
string.rfind(s)

Повертає число (позиція) першого входження або -1 при невдачі.

string.index(s)

Працює як find але викликає виняток у незнаходженні.

Пошук за регулярними виразами.

import re
str = 'My name is dima. My name is dima.'
rez = re.search('is(.*)\.',str)
print(rez.group(1))

Документація з регулярних виразів

Зміна регістру

str.capitalize(); str.lower(); str.upper()

Забираємо прогалини спочатку і наприкінці.

'   spacious   '.strip()