Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
pythono
7 лет назад

Шестой урок по Python // Работаем со строками



Сегодня мы изучим некоторые приёмы для работы со строками и с текстом. Очень много программ созданы для того чтобы работать с текстами- как-то преобразовывать их, изменять, анализировать. Любой текст можно представить либо как одну длинную очень строку, либо разбить его по предложениям или абзацам и получить на выходе список(массив) строк.

Начнём с простейших функций для обработки текстовых строк.

Замена подстроки в строке

В одном советском анекдоте, Крокодилу Гене и Чебурашке учительница поручила написать сочинение "Как я провёл лето". Проблема была в том, что всё лето друзья пили водку. Пришлось сперва написать как есть, а потом заменить некоторые слова. Давайте поможем сказочным героям. Для этого мы используем функцию replace, которая работает так

s=s.replace('строка которую заменяем', 'строка вместо неё')

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

Программа выдаёт результат:

Как видим, теперь сочинение Чебурашки и Гены успешно пройдет проверку строгой учительницы.

Иногда функцию replace можно использовать, чтобы удалить какие-то слова из строки, заменив их на пустую строку(просто открыть и закрыть кавычку - будет пустая строка). Например, давайте полностью удалим из какого-то текста слово 'какашка'.

Программа напечатает

Мы удалили из текста плохое слово, заменив его на пустую строку.

Получение части строки

Извлечь из строки какой-то отрезок(срез), можно указав начальную и конечную позицию подстроки через двоеточие, в квадратных скобках после имени переменной. Позиция начинается с нуля. Поясним на примере.

s='Меня зовут Бонд, Джеймс Бонд'
a=s[0, 4]
print(a)

Напечатает подстроку:

Меня

s='Меня зовут Бонд, Джеймс Бонд'
a=s[10:15]
print(a)

Напечатает подстроку:

Бонд

Предположим у нас есть несколько строк в списке, и какие то из них начинаются на строку 'http'(то есть являются ссылками на веб страницы). Нам нужно найти их в списке, и вывести на экран. Для того чтобы их найти, нам нужно получить часть строки с первого по четвёртый символы, и если это 'http', то вывести эту строку на экран. Составим программу, которая перебирает строки из списка и ищет те, которые начинаются с 'http'.

В результате работы программы увидим:

Поиск подстроки в строке

Для того чтобы определить наличие подстроки в строке, можно использовать функцию find. Работает она так -

n=s.find('строка которую ищем')

Если искомая подстрока имеется в строке,то в переменную n попадёт её позиция в строке, а если подстрока не будет найдена n станет равно -1.

Давайте попробуем определить есть ли в строке адрес электронной почты с mail.ru. Для этого попробуем найти в строке подстроку '@mail.ru'

Программа выведет на экран:

В следующих уроках мы продолжим работать со строками, и узнаем еще несколько полезных функций. Подписывайтесь на мой блог!

20
14.590 GOLOS
На Golos с August 2017
Комментарии (22)
Сортировать по:
Сначала старые