String Flashcards
Как объявить строку?
string1 = “Python string”
string2 = ‘Python string’
// Нет различия как объявлять с одинарными кавычками или двойными
Как объявить multiline строку?
message = “””
Never gonna give you up
Never gonna let you down
“””
Получение символов из строки
greet = ‘hello’
greet[1]
greet[-4]
greet[1:4]
Сравнение двух строк
str1 = “Hello, world!”
str2 = “I love Swift.”
print(str1 == str2)
Конкатенация строк
greet = “Hello, “
name = “Jack”
result = greet + name
Итерирование через строку
greet = ‘Hello’
for letter in greet:
print(letter)
Получение длинны строки
greet = ‘Hello’
len(greet)
Проверка вхождения подстроки в строку
print(‘a’ in ‘program’) # True
print(‘at’ not in ‘battle’) # False
Сделать строку большими буквами
upper()
Сделать строку маленькими буквами
lower()
casefold() # Боле агрессивный groß -> gross
Сделать первую букву каждого слова заглавной
title()
Сделать первую букву строки заглавной, а остальное маленькими
capitalize()
Разделить строку на три составляющие: до разделителя, сам разделитель, после разделителя
str.partition(sep)
str.rpartition(sep) # Внутри tuple не переворачивается
string = “Python is fun”
string.partition(“is “) # (“Python “, “is “, “fun”)
string.partition(“not “) # (“Python Python is fun”, “”, “”)
Замена подстроки на другую подстроку
str.replace(old, new [, count])
# Если count не определен то заменяются все подстроки, иначе указанное число раз
song = “cold, cold heart”
song.replace(“cold”, “hurt”) # “hurt, hurt heart”
Найти индекс первого вхождения подстроки, без exception
str.find(sub[, startp[, end]])
# если не найдено, то возвращается -1
str.rfind(sub[, start[, end]]) # поиск справа на лево
quote = ‘Do small things with great love’
quote.find(‘o small ‘, 10, -1) # -1
Получить индекс подстроки
str.index(sub[, start[, end]])
str.rindex(sub[, start[, end]])
# Если не найдено будет ValueError
sentence = ‘Python programming is fun.’
sentence.index(‘fun’, 7, 18) # ValueError
Удаление не нужных символов на концах строки
str.strip([chars]) # с обоих сторон
str.lstrip([chars]) # справа
str.rstrip([chars]) # слева
# Можно указывать любое кол-во символов, они все будут учитывать в независимости от порядка. Если не указать используется пробел
txt = “,,,,,rrttgg…..banana….rrr”
x = txt.strip(“,.grt”)
print(x) # banana
Join нескольких строк в итерируемом объекте. Разделение сроки с помощью какой-то подстроки. Разделение на строки
str.join(iterable) # List, Typle, String, Dictionary, Set, __iter__, __getitem__
text = [‘Python’, ‘is’, ‘a’, ‘fun’, ‘programming’, ‘language’]
‘ ‘.join(text)
str.split(sep=None, maxsplit=-1) # default - whitespace. waxsplit - кол-во разделений
str.rsplit(sep=None, maxsplit=-1)
txt =”apple#banana#cherry#orange”
x = txt.split(“#”)
str.splitlines(keepends=False) # Разделение на основе \n, keepends - указывает нужно ли оставить символ \n
txt =”Thank you for the music\nWelcome to the jungle”
x = txt.splitlines() # [‘Thank you for the music’, ‘Welcome to the jungle’]
Как сделать строку которая сохранит все символы как есть
> > > print(r”Hello there!\nHow are you?\nI'm doing fine.”)
# Hello there!\nHow are you?\nI'm doing fine.
Raw string часто используется для RegExp
Проверка, что есть буквы и они все маленькие
str.islower()
Проверка, что есть буквы и они все заглавные
str.isupper()
Проверка, что строка содержит только буквы
str.isalpha()
Проверка, что строка содержит только цифры и буквы
str.isalnum()
Проверка, что строка содержит цифры
str.isdecimal()
Проверка, что строка содержит пробелы, табуляцию и символы новой строки
str.isspace()
Проверка, что строка содержит только слова начинающиеся с большой буквы
str.istitle()
Проверить что строка начинается или заканчивается на какуе-то подстроку.
str.startswith(prefix[, start[, end]])
str.endswith(suffix[, start[, end]])
‘Hello world!’.startswith(‘Hello’)
// # True
‘Hello world!’.endswith(‘world!’)
// # True
text = “programming is easy”
result = text.endswith((‘is’, ‘an’), 0, 14)
print(result) # prints True
// # Указание нескольких suffix
result = text.endswith((‘python’, ‘easy’, ‘java’))
Подсчитать кол-во вхождения подстроки
str.count(sub[, start[, end]])
sentence = ‘one sheep two sheep three sheep four’
sentence.count(‘sheep’)
// # 3
Выравнивание текста. Justifying text
str.center(width[, fillchar])
str.ljust(width[, fillchar])
str.rjust(width[, fillchar])
‘Hello’.rjust(20, ‘’)
// ‘****Hello’
‘Hello’.ljust(20, ‘-‘)
// ‘Hello—————’
‘Hello’.center(20, ‘=’)
// ‘=======Hello========’