JavaRush /Курсы /Модуль 1: Python Core /Изменение строк

Изменение строк

Модуль 1: Python Core
6 уровень , 11 лекция
Открыта

12.1 Список методов

В Python строковый тип данных обладает богатым набором методов, которые делают работу со строками удобной и мощной. Вот некоторые из самых популярных методов класса string:

Метод Описание
strip() Удаляет пробелы в начале и конце строки.
lower() Преобразует все символы строки в нижний регистр.
upper() Преобразует все символы строки в верхний регистр.
replace(old, new) Заменяет все вхождения подстроки old на подстроку new.
split(separator) Разделяет строку на список подстрок по заданному разделителю.
join(iterable) Объединяет коллекцию строк в одну строку, используя строку-разделитель.
find(substring) Возвращает индекс первого вхождения подстроки или -1, если подстрока не найдена.
index(substring) Возвращает индекс первого вхождения подстроки или бросает исключение, если не найдена.
format() Форматирует строку, заменяя фигурные скобки значениями.
startswith(prefix) Проверяет, начинается ли строка с подстроки prefix.
endswith(suffix) Проверяет, заканчивается ли строка на подстроку suffix.

Обращаю ваше внимание, что объект типа str нельзя изменить после его создания. Все функции, которые изменяют строку, на самом деле возвращают новый объект. Старый объект остается неизменным.

12.2 Самые популярные методы

Давайте разберем несколько самых простых и популярных методов.

Метод strip():

Удаляет пробелы в начале и конце строки.


text = "  hello world!  "
cleaned_text = text.strip()
print(cleaned_text)  # Вывод: "hello world!"
        

Метод lower():

Преобразует все символы строки в нижний регистр.


text = "Hello World!"
lower_text = text.lower()
print(lower_text)  # Вывод: "hello world!"
            
        

Метод upper():

Преобразует все символы строки в верхний регистр.


text = "Hello World!"
upper_text = text.upper()
print(upper_text)  # Вывод: "HELLO WORLD!"
        

Метод split(separator):

Разделяет строку на список подстрок по заданному разделителю.


text = "one,two,three"
parts = text.split(',')
print(parts)  # Вывод: ['one', 'two', 'three']
        

Метод join(iterable):

Объединяет коллекцию строк в одну строку, используя строку-разделитель.


parts = ['one', 'two', 'three']
joined_text = ','.join(parts)
print(joined_text)  # Вывод: "one,two,three"
        

Важно! Обратите внимание, что метод join() вызывается у строки разделителя!

Эти методы являются основными инструментами для обработки и манипулирования текстовыми данными в Python.

12.3 Поиск и замена подстроки

Есть еще несколько популярных методов, которые используются для поиска и замены строки в строке.

Метод find(substring):

Возвращает индекс первого вхождения подстроки в строку или -1, если подстрока не найдена.


text = "hello world"
index = text.find("world")
print(index)  # Вывод: 6
        

Метод index(substring):

Аналогично find, но в случае отсутствия подстроки бросает исключение ValueError.


text = "hello world"
try:
    index = text.index("world")
    print(index)  # Вывод: 6
except ValueError:
    print("Substring not found")
        

Метод replace(old, new):

Заменяет все вхождения подстроки old на подстроку new.


text = "hello world"
replaced_text = text.replace("world", "everyone")
print(replaced_text)  # Вывод: "hello everyone"
        

Метод startswith(prefix):

Проверяет, начинается ли строка с указанного префикса.


text = "hello world"
print(text.startswith("hello"))  # Вывод: True 
        

Метод endswith(suffix):

Проверяет, заканчивается ли строка указанным суффиксом.


text = "hello world"
print(text.endswith("world"))  # Вывод: True
        

Эти методы очень полезны для различных операций поиска, замены и проверки в строках, упрощая обработку текстовых данных.

2
Задача
Модуль 1: Python Core, 6 уровень, 11 лекция
Недоступна
Очистка
Очистка
2
Задача
Модуль 1: Python Core, 6 уровень, 11 лекция
Недоступна
Перегруппировка.
Перегруппировка.
Комментарии (6)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Andrey Kochegarov Уровень 64
17 февраля 2025
опять путаница с заданием. "Программа должна выводить результаты каждой из выполненных операций: удаления пробелов, преобразования в нижний регистр и преобразования в верхний регистр." на деле же требуется такое решение.

myStr = input()
print(myStr.strip())
print(myStr.strip().lower())
print(myStr.strip().upper())
Марина Уровень 14
25 марта 2025
Ну не знаю, у меня вот так вполне прошло: text = input() print(text.strip()) print(text.lower()) print(text.upper())
Mr.Robot Уровень 21 Expert
11 февраля 2025
Во второй задачке, возможно, перестраховался. Прогнал список поэлементно через strip(). Не знаю - может зря. Но с пробного запуска перед "проверкой" увидел, что слова залетают в список вместе с пробелами и после join получается по 2 пробела кое-где - сразу решил пофиксить.
Slevin Уровень 64
27 июня 2025

# Если слова разделены через запятую + пробел:
words = user_string.split(", ") 
# Если слова разделены черти как, с запятыми без пробела, с пробелами, просто пробелами:
words = [word.strip() for word in user_string.split(',')]
Dmitry Ryabov Уровень 23
28 января 2025
Задача "Очистка" Из условий задачи не понятно что именно надо выводить в качестве результата. В данной интерпретации требований: 1) Можно выводить результат каждого отдельного действия над исходной строкой

my_str = input()
print(my_str.split())
print(my_str.lower())
#и так далее
2) Можно выводить каждый из этапов цепочки действий над исходной строкой

my_str = input()
my_str1 = my_str.strip()
print(my_str1)
my_str2 = my_str1.lower()
print(my_str2)
#и так далее
Игорь Уровень 8
25 июля 2024
Метод strip(), кстати, без заданного аргумента удаляет не только пробелы в конце и в начале строки, а также и специальные символы типа \n, \t, \r.