Освоение строковых операций в Python: replace, join, split, reverse, преобразование регистра
В Python каждая сущность — объект, включая строки. Строка — просто последовательность символов в кавычках.
Пример:var = "Hello World!"
Это руководство проведёт вас через наиболее частые строковые операции с реальными примерами и лучшими практиками.
- Доступ к символам через срезы
- Строковые операторы и конкатенация
- Замена подстрок
- Изменение регистра (upper/lower/capitalize)
- Использование
joinдля гибкой конкатенации - Реверс строк
- Разделение строк
Доступ к символам в строках
В Python нет отдельного типа символа; одиночные символы — строки длины 1. Используйте квадратные скобки и индексы для срезов.
var1 = "Guru99!"
var2 = "Software Testing"
print("var1[0]:", var1[0])
print("var2[1:5]:", var2[1:5])
Вывод:var1[0]: G
var2[1:5]: oftw
Строковые операторы
Операторы позволяют быстрое манипулирование:
| Оператор | Описание | Пример |
|---|---|---|
| [] | Доступ к одному символу | x = "Guru" |
| [:] | Срез диапазона (конец исключён) | x = "Guru" |
| in / not in | Проверка принадлежности | print("u" in x) — True |
| r/R | Сырая строка (escape-символы игнорируются) | print(r"\n") — вывод "\\n" |
| % | Форматирование строк (старый стиль) | print('%s %d' % ('guru', 99)) — "guru 99" |
| + | Конкатенация двух строк | print("Guru" + "99") — "Guru99" |
| * | Повторение строки | print("Guru" * 2) — "GuruGuru" |
Обновление строки
Так как строки неизменяемы, переназначьте переменную новому значению.
x = "Hello World!" print(x[:6]) # "Hello" print(x[0:6] + "Guru99") # "Hello Guru99"
Замена подстрок
Метод replace() возвращает новую строку со всеми вхождениями подстроки заменёнными.
old = "I like Guru99"
new = old.replace('like', 'love')
print(new) # "I love Guru99"
Изменение регистра
Преобразуйте в верхний, нижний регистр или капитализируйте первый символ.
text = "python at guru99" print(text.upper()) # "PYTHON AT GURU99" print(text.capitalize()) # "Python at guru99" print(text.upper().lower()) # обратно в нижний регистр
Объединение символов
Метод join() конкатенирует итерируемый объект строк с разделителем.
print(":".join("Python")) # "P:y:t:h:o:n"
Реверс строки
Используйте reversed() и join() для реверса.
s = "12345"
print(''.join(reversed(s))) # "54321"
Разделение строк
Разбейте строку в список по разделителю.
sentence = "guru99 career guru99"
print(sentence.split(' ')) # ['guru99', 'career', 'guru99']
print(sentence.split('r')) # ['gu', 'u99 ca', 'ee', ' gu', 'u99']
Напоминание об неизменяемости
Строки нельзя изменить на месте. Методы вроде replace() возвращают новую строку.
x = "Guru99"
print(x.replace("Guru99", "Python")) # всё ещё "Guru99"
# Чтобы изменить переменную
x = x.replace("Guru99", "Python")
print(x) # "Python"
Совместимость с Python 2
Ниже эквивалентный код для Python 2, использующего print без скобок.
# Accessing values
var1 = "Guru99!"
var2 = "Software Testing"
print "var1[0]:", var1[0]
print "var2[1:5]:", var2[1:5]
# Update example
x = "Hello World!"
print x[:6]
print x[0:6] + "Guru99"
# Replace example
old = 'I like Guru99'
print old.replace('like', 'love')
# Case conversion
text = "python at guru99"
print text.upper()
print text.capitalize()
print text.lower()
# Join
print ":".join("Python")
# Reverse
s = "12345"
print ''.join(reversed(s))
# Split
word = "guru99 career guru99"
print word.split(' ')
print word.split('r')
# Immutability demo
x = "Guru99"
print x.replace("Guru99", "Python")
x = x.replace("Guru99", "Python")
print x
Резюме
- Используйте срезы (
[],[:]) для точного доступа к символам. - Применяйте строковые операторы (+, *, in, not in) для конкатенации и проверки принадлежности.
- Заменяйте подстроки через
replace(); помните, что он возвращает новую строку. - Конвертируйте регистр с
upper(),lower(),capitalize(). - Комбинируйте
join()с любым разделителем для гибкой конкатенации. - Реверс через
reversed()иjoin(), разделение черезsplit(). - Всегда переназначайте переменную, чтобы зафиксировать изменения из-за неизменяемости строк.
Python
- Освоение строк в Java: создание, методы и лучшие практики
- Строковые представления в Java Enums: настройка toString() и лучшие практики
- Строки в C просто: объявление, ввод, вывод и библиотечные функции
- Замена строк в Java: replace(), replaceAll() и replaceFirst() подробно
- Java String toLowerCase() и toUpperCase(): преобразование регистра с учётом локали
- Функция print() в Python: практическое руководство с примерами
- Мастерство метода strip() в Python: подробное руководство и практические примеры
- Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
- Мастерство строк форматирования format() в Python: понятные примеры
- Python len(): практическое руководство по измерению длины объектов