Робота з рядками.
Довга.
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()