0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>В этой статье поговорим про строки в<strong>Python</strong>, особенности поиска, а также о том, как искать подстроку или символ в строке.</p>
1
<p>В этой статье поговорим про строки в<strong>Python</strong>, особенности поиска, а также о том, как искать подстроку или символ в строке.</p>
2
<p>Но сначала давайте вспомним основные методы для обработки строк в Python: • isalpha(str): если строка в Python включает в себя лишь алфавитные символы, возвращается True; • islower(str): True возвращается, если строка включает лишь символы в нижнем регистре; • isupper(str): True, если символы строки в Python находятся в верхнем регистре; • startswith(str): True, когда строка начинается с подстроки<strong>str</strong>; • isdigit(str): True, когда каждый символ строки - цифра; • endswith(str): True, когда строка в Python заканчивается на подстроку str; • upper(): строка переводится в верхний регистр; • lower(): строка переводится в нижний регистр; • title(): для перевода начальных символов всех слов в строке в верхний регистр; • capitalize(): для перевода первой буквы самого первого слова строки в верхний регистр; • lstrip(): из строки в Python удаляются начальные пробелы; • rstrip(): из строки в Python удаляются конечные пробелы; • strip(): из строки в Python удаляются и начальные, и конечные пробелы; • rjust(width): когда длина строки меньше, чем параметр width, слева добавляются пробелы, строка выравнивается по правому краю; • ljust(width): когда длина строки в Python меньше, чем параметр width, справа от неё добавляются пробелы для дополнения значения<strong>width</strong>, при этом происходит выравнивание строки по левому краю; • find(str[, start [, end]): происходит возвращение индекса подстроки в строку в Python. В том случае, если подстрока не найдена, выполняется возвращение числа -1; • center(width): когда длина строки в Python меньше, чем параметр width, слева и справа добавляются пробелы (равномерно) для дополнения значения width, причём происходит выравнивание строки по центру; • split([delimeter[, num]]): строку в Python разбиваем на подстроки в зависимости от разделителя; • replace(old, new[, num]): в строке одна подстрока меняется на другую; • join(strs): строки объединяются в одну строку, между ними вставляется определённый разделитель.</p>
2
<p>Но сначала давайте вспомним основные методы для обработки строк в Python: • isalpha(str): если строка в Python включает в себя лишь алфавитные символы, возвращается True; • islower(str): True возвращается, если строка включает лишь символы в нижнем регистре; • isupper(str): True, если символы строки в Python находятся в верхнем регистре; • startswith(str): True, когда строка начинается с подстроки<strong>str</strong>; • isdigit(str): True, когда каждый символ строки - цифра; • endswith(str): True, когда строка в Python заканчивается на подстроку str; • upper(): строка переводится в верхний регистр; • lower(): строка переводится в нижний регистр; • title(): для перевода начальных символов всех слов в строке в верхний регистр; • capitalize(): для перевода первой буквы самого первого слова строки в верхний регистр; • lstrip(): из строки в Python удаляются начальные пробелы; • rstrip(): из строки в Python удаляются конечные пробелы; • strip(): из строки в Python удаляются и начальные, и конечные пробелы; • rjust(width): когда длина строки меньше, чем параметр width, слева добавляются пробелы, строка выравнивается по правому краю; • ljust(width): когда длина строки в Python меньше, чем параметр width, справа от неё добавляются пробелы для дополнения значения<strong>width</strong>, при этом происходит выравнивание строки по левому краю; • find(str[, start [, end]): происходит возвращение индекса подстроки в строку в Python. В том случае, если подстрока не найдена, выполняется возвращение числа -1; • center(width): когда длина строки в Python меньше, чем параметр width, слева и справа добавляются пробелы (равномерно) для дополнения значения width, причём происходит выравнивание строки по центру; • split([delimeter[, num]]): строку в Python разбиваем на подстроки в зависимости от разделителя; • replace(old, new[, num]): в строке одна подстрока меняется на другую; • join(strs): строки объединяются в одну строку, между ними вставляется определённый разделитель.</p>
3
<h2>Обрабатываем строку в Python</h2>
3
<h2>Обрабатываем строку в Python</h2>
4
<p>Представим, что ожидается ввод числа с клавиатуры. Перед преобразованием введенной нами строки в число можно легко проверить, введено ли действительно число. Если это так, выполнится операция<strong>преобразования</strong>. Для обработки строки используем такой метод в Python, как isnumeric():</p>
4
<p>Представим, что ожидается ввод числа с клавиатуры. Перед преобразованием введенной нами строки в число можно легко проверить, введено ли действительно число. Если это так, выполнится операция<strong>преобразования</strong>. Для обработки строки используем такой метод в Python, как isnumeric():</p>
5
string = input("Введите какое-нибудь число: ") if string.isnumeric(): number = int(string) print(number)<p>Следующий пример позволяет удалять пробелы в конце и начале строки:</p>
5
string = input("Введите какое-нибудь число: ") if string.isnumeric(): number = int(string) print(number)<p>Следующий пример позволяет удалять пробелы в конце и начале строки:</p>
6
string = " привет мир! " string = string.strip() print(string) # привет мир!<p>Так можно дополнить строку пробелами и выполнить выравнивание:</p>
6
string = " привет мир! " string = string.strip() print(string) # привет мир!<p>Так можно дополнить строку пробелами и выполнить выравнивание:</p>
7
print("iPhone 7:", "52000".rjust(10)) print("Huawei P10:", "36000".rjust(10))<p>В консоли Python будет выведено следующее:</p>
7
print("iPhone 7:", "52000".rjust(10)) print("Huawei P10:", "36000".rjust(10))<p>В консоли Python будет выведено следующее:</p>
8
iPhone 7: 52000 Huawei P10: 36000<h2>Поиск подстроки в строке</h2>
8
iPhone 7: 52000 Huawei P10: 36000<h2>Поиск подстроки в строке</h2>
9
<p>Чтобы в Python выполнить поиск в строке, используют метод find(). Он имеет три формы и возвращает индекс 1-го вхождения подстроки в строку: • find(str): поиск подстроки str производится с начала строки и до её конца; • find(str, start): с помощью параметра start задаётся начальный индекс, и именно с него и выполняется поиск; • find(str, start, end): посредством параметра end задаётся конечный индекс, поиск выполняется до него.</p>
9
<p>Чтобы в Python выполнить поиск в строке, используют метод find(). Он имеет три формы и возвращает индекс 1-го вхождения подстроки в строку: • find(str): поиск подстроки str производится с начала строки и до её конца; • find(str, start): с помощью параметра start задаётся начальный индекс, и именно с него и выполняется поиск; • find(str, start, end): посредством параметра end задаётся конечный индекс, поиск выполняется до него.</p>
10
<p>Когда подстрока не найдена, метод возвращает -1:</p>
10
<p>Когда подстрока не найдена, метод возвращает -1:</p>
11
welcome = "Hello world! Goodbye world!" index = welcome.find("wor") print(index) # 6 # ищем с десятого индекса index = welcome.find("wor",10) print(index) # 21 # ищем с 10-го по 15-й индекс index = welcome.find("wor",10,15) print(index) # -1<h2>Замена в строке</h2>
11
welcome = "Hello world! Goodbye world!" index = welcome.find("wor") print(index) # 6 # ищем с десятого индекса index = welcome.find("wor",10) print(index) # 21 # ищем с 10-го по 15-й индекс index = welcome.find("wor",10,15) print(index) # -1<h2>Замена в строке</h2>
12
<p>Чтобы в Python заменить в строке одну подстроку на другую, применяют метод replace(): • replace(old, new): подстрока old заменяется на new; • replace(old, new, num): параметр num показывает, сколько вхождений подстроки old требуется заменить на new.</p>
12
<p>Чтобы в Python заменить в строке одну подстроку на другую, применяют метод replace(): • replace(old, new): подстрока old заменяется на new; • replace(old, new, num): параметр num показывает, сколько вхождений подстроки old требуется заменить на new.</p>
13
<p>Пример замены в строке в Python:</p>
13
<p>Пример замены в строке в Python:</p>
14
phone = "+1-234-567-89-10" # дефисы меняются на пробелы edited_phone = phone.replace("-", " ") print(edited_phone) # +1 234 567 89 10 # дефисы удаляются edited_phone = phone.replace("-", "") print(edited_phone) # +12345678910 # меняется только первый дефис edited_phone = phone.replace("-", "", 1) print(edited_phone) # +1234-567-89-10<h2>Разделение на подстроки в Python</h2>
14
phone = "+1-234-567-89-10" # дефисы меняются на пробелы edited_phone = phone.replace("-", " ") print(edited_phone) # +1 234 567 89 10 # дефисы удаляются edited_phone = phone.replace("-", "") print(edited_phone) # +12345678910 # меняется только первый дефис edited_phone = phone.replace("-", "", 1) print(edited_phone) # +1234-567-89-10<h2>Разделение на подстроки в Python</h2>
15
<p>Для разделения в Python используется метод split(). В зависимости от разделителя он разбивает строку на перечень подстрок. В роли разделителя в данном случае может быть любой символ либо последовательность символов. Этот метод имеет следующие формы: • split(): в роли разделителя применяется такой символ, как пробел; • split(delimeter): в роли разделителя применяется<strong>delimeter</strong>; • split(delimeter, num): параметром num указывается, какое количество вхождений delimeter применяется для разделения. При этом оставшаяся часть строки добавляется в перечень без разделения на подстроки.</p>
15
<p>Для разделения в Python используется метод split(). В зависимости от разделителя он разбивает строку на перечень подстрок. В роли разделителя в данном случае может быть любой символ либо последовательность символов. Этот метод имеет следующие формы: • split(): в роли разделителя применяется такой символ, как пробел; • split(delimeter): в роли разделителя применяется<strong>delimeter</strong>; • split(delimeter, num): параметром num указывается, какое количество вхождений delimeter применяется для разделения. При этом оставшаяся часть строки добавляется в перечень без разделения на подстроки.</p>
16
<h2>Соединение строк в Python</h2>
16
<h2>Соединение строк в Python</h2>
17
<p>Рассматривая простейшие операции со строками, мы увидели, как объединяются строки через операцию сложения. Однако есть и другая возможность для соединения строк - метод join():, объединяющий списки строк. В качестве разделителя используется текущая строка, у которой вызывается этот метод:</p>
17
<p>Рассматривая простейшие операции со строками, мы увидели, как объединяются строки через операцию сложения. Однако есть и другая возможность для соединения строк - метод join():, объединяющий списки строк. В качестве разделителя используется текущая строка, у которой вызывается этот метод:</p>
18
words = ["Let", "me", "speak", "from", "my", "heart", "in", "English"] # символ разделителя - пробел sentence = " ".join(words) print(sentence) # Let me speak from my heart in English # символ разделителя - вертикальная черта sentence = " | ".join(words) print(sentence) # Let | me | speak | from | my | heart | in | English<p>А если вместо списка в метод join передать простую строку, разделитель будет вставляться уже между символами:</p>
18
words = ["Let", "me", "speak", "from", "my", "heart", "in", "English"] # символ разделителя - пробел sentence = " ".join(words) print(sentence) # Let me speak from my heart in English # символ разделителя - вертикальная черта sentence = " | ".join(words) print(sentence) # Let | me | speak | from | my | heart | in | English<p>А если вместо списка в метод join передать простую строку, разделитель будет вставляться уже между символами:</p>
19
word = "hello" joined_word = "|".join(word) print(joined_word) # h|e|l|l|o
19
word = "hello" joined_word = "|".join(word) print(joined_word) # h|e|l|l|o