S = 'str'; |
Литералы строк |
S = "s\np\ta\nbbb" |
Экранированные последовательности |
S = r"C:\temp\new" |
Неформатированные строки (подавляют экранирование) |
S = b"byte" |
Строка байтов |
S1 + S2 |
Конкатенация (сложение строк) |
S1 * 3 |
Повторение строки |
S[i] |
Обращение по индексу |
S[i:j:step] |
Извлечение среза |
len(S) |
Длина строки |
S.find(str[, start[, end]) |
Поиск подстроки в строке. Возвращает номер первого вхождения (индекс подстроки в строке) или -1 |
S.rfind(str[, start[, end]) | Поиск подстроки в строке. Возвращает номер последнего вхождения или -1 |
S.index(str[, start[, end]) |
Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError |
S.rindex(str[, start[, end]) |
Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError |
S.replace(old, new[, num]) |
Заменяет в строке S одну подстроку (old) на другую (new) num раз. Если num не указано, то заменить все вхождения old на new. Если num = 1, то заменить первое вхождение old на new. Если num = 3 — заменить первые 3 вхождения old на new. |
S.split([delimeter[, num]]) |
разбивает строку на подстроки в зависимости от разделителя |
S. join(список) |
объединяет строки в одну строку, вставляя между ними определенный разделитель S |
S.isdigit() |
возвращает True, если все символы строки — цифры |
S.isnumeric() |
возвращает True, если строка представляет собой число |
S.isalpha() |
возвращает True, если строка состоит только из алфавитных символов |
S.isalnum() |
Состоит ли строка из цифр или букв |
S.islower() | возвращает True, если строка состоит только из символов в нижнем регистре. Знаки препинания и цифры дают True. |
| возвращает True, если все символы строки в верхнем регистре. Знаки препинания и цифры дают True. |
S.isspace() | Состоит ли строка из неотображаемых символов (пробел, символ перевода страницы (‘\f’), «новая строка» (‘\n’), «перевод каретки» (‘\r’), «горизонтальная табуляция» (‘\t’) и «вертикальная табуляция» (‘\v’)) |
S. istitle() | Возвращает True, если ВСЕ слова в строке начинаются с заглавной буквы |
S.startswith(str) |
Возвращает True, если строка начинается с подстроки str |
S.endswith(str) |
Возвращает True, если строка заканчивается на подстроку str |
S.capitalize () |
Переводит первый символ строки в верхний регистр, а все остальные в нижний |
S.upper() | переводит строку в вехний регистр |
S.lower() |
переводит строку в нижний регистр |
S.title() |
начальные символы всех слов в строке переводятся в верхний регистр |
ord(символ) |
Символ в его код ASCII |
chr(число) | Код ASCII в символ |
S.center(width, [fill]) |
если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру |
S. count |
Возвращает количество непересекающихся вхождений подстроки в диапазоне [начало, конец] (0 и длина строки по умолчанию) |
S.expandtabs([tabsize]) |
Возвращает копию строки, в которой все символы табуляции заменяются одним или несколькими пробелами, в зависимости от текущего столбца. Если TabSize не указан, размер табуляции полагается равным 8 пробелам |
S.lstrip([chars]) |
удаляет начальные пробелы из строки |
S.rstrip([chars]) |
удаляет конечные пробелы из строки |
S.strip([chars]) |
удаляет начальные и конечные пробелы из строки (удаление пробельных символов в начале и в конце строки). В параметре chars можно перечислить символы в любом порядке, которые следует удалить — удаляется символ, который присутствует в chars. |
S. partition(шаблон) |
Возвращает кортеж, содержащий часть перед первым шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий саму строку, а затем две пустых строки |
S.rpartition(sep) |
Возвращает кортеж, содержащий часть перед последним шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий две пустых строки, а затем саму строку |
S.swapcase() |
Переводит символы нижнего регистра в верхний, а верхнего — в нижний |
S.title() |
Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний |
S.zfill(width) |
Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями |
S.ljust(width, fillchar=" ") |
если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю |
S. rjust(width, fillchar=" ") |
если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю |
S.format(*args, **kwargs) |
Форматирование строки |
Приемы работы со строками в Python.
Этот раздел просвещен исследованию свойств строки в Python на примерах и практическому применению операции с текстовыми строками.
Раздел представляет собой короткие примеры с решением конкретных задач, а так же разбираются различные случаи манипулирования и преобразования, выполняемые со строками.
Смотрите также:
- Тип
str
— текстовые строки в Python. - Общие операции с последовательностями list, tuple, str в Python.
Преобразование строки в число в Python.
В Python нельзя смешивать строковые и числовые типы в таких операторах, как ‘+’, но можно вручную выполнить необходимые преобразования перед выполнением.
Строку в список, кортеж или множество символов в Python.
Для преобразования строки в список символов необходимо исходную строку передать в класс list(). Это полезно для каких то преобразований в цикле с отдельными символами в строке (удаление/добавление/изменение) или если нужно отобразить строку наоборот (развернуть строку).
Одинарные, двойные и тройные кавычки в строке Python.
Текстовые строки могут быть заключены в одинарные кавычки (‘…’) или двойные кавычки («…»), что в результате будет одно и то же. Знак обратной косой черты ‘\’ может использоваться для экранирования кавычек.
Вывод специальных символов в строке Python «как есть».
Вывод специальных символов в строке Python «как есть». Использование необработанных (сырых) строк Python.
Объединение и повторение строк в Python.
Строки могут быть объединены (склеены) оператором ‘+’ и повторены с помощью ‘*’. Два или более строковых литерала, те, которые заключены в кавычки рядом друг с другом, автоматически объединяются.
Индексирование строк в Python.
Строки могут быть индексированы, причем первый символ имеет индекс 0. В Python не существует отдельного типа «символ» (char), символ — это просто строка размером один
Использование срезов строк в Python.
Использование срезов позволяет получить подстроку. Пропущенный первый индекс по умолчанию равен нулю, пропущенный второй индекс по умолчанию равен размеру/длине разрезаемой строки.
Cрез строки Python от заданного символа/знака до конца строки.
Можно воспользоваться str.partition() разбивает строку на три части: все что слева от разделителя, сам разделитель, то что справа от разделителя. Если разделитель не найден, то возвращается исходная строка и две пустых строки, т. е. в любом случае возвращается кортеж из 3 элементов.
Создание макета для печати базовыми методами строк в Python.
Когда вам нужно быстрое отображение некоторых переменных для отладки, вы можете преобразовать любое значение в строку с помощью функций repr() или str()
Способы форматирования текстовых строк в Python.
Форматирование строковыми литералами, форматирование методом str.format(), форматирование оператором ‘%’ в стиле языка C.
Подсчет повторений слов в тексте, деление строки на список слов.
Деление строки Python на список слов или подстрок. Разделить строку на список слов можно несколькими способами, разберем 2 самых популярных.
Удаление слова из строки Python по фрагменту или шаблону.
Удаление слова из строки Python по фрагменту или шаблону.
Удаление пунктуации из строки в Python.
Для удаления пунктуации из строки Python воспользуемся методом строки str.replace(). А именно, в цикле пройдемся по всем символам пунктуации, и если они есть, то просто заменим его на пустую строку.
Деление строки по заглавным буквам в Python.
Для деления текста или строки по заглавным буквам воспользуемся позитивной опережающей проверкой регулярных выражений и функцией re.split() модуля re.
Создание отчетов и писем по шаблонам в Python.
Довольно часто возникают ситуации, когда нужно генерировать определенные отчеты или манипулировать строками. Общим для всех этих ситуаций является то, что создание отчета или обработка строк следует определенному шаблону. Обычно шаблоны очень похожи и мы их используем повторно.
Манипулирование строками Python | Работа со строками на примере
Обновлено 15 апреля 2023 г.
В Python строка объявляется с использованием одинарных или двойных кавычек, которые определяются как последовательность символов. Обработка строк — это процесс манипулирования строкой, такой как нарезка, синтаксический анализ, анализ и т. д. Во многих различных языках программирования, включая Python, предоставляется строковый тип данных для работы с таким манипулированием строкой, в котором используются различные функции строки, предоставляемые строкой. тип данных «str» в Python. В Python строковый тип данных используется для представления текстовых данных, где он используется во всех приложениях, использующих строки. В этой статье мы обсудим различные функции строки, используемые в манипуляциях со строками. В этом разделе мы собираемся узнать о манипулировании строками Python.
Работа со строками в Python
В Python класс строк «str» предоставляет различные методы для работы со строками, где почти каждое приложение использует строку в своем приложении. В Python строки объявляются с использованием одинарных или двойных кавычек, в отличие от других языков программирования, которые требуют, чтобы типы данных объявляли любой другой тип. В Python некоторые встроенные строковые методы используются для манипулирования строками. В Python есть операторы, функции и методы, которые используются для работы со строками. Давайте посмотрим один за другим в разделе ниже.
Операторы, используемые для работы со строками
Во-первых, давайте воспользуемся несколькими строковыми операторами, которые можно использовать для работы со строками.
1. * оператор
Этот оператор используется, когда мы хотим создать несколько копий данной строки. Давайте рассмотрим пример ниже, чтобы продемонстрировать этот оператор.
Пример:
star_op = "educba" res = звездная_операция * 4 print(res)
Вывод:
В приведенной выше программе мы видим, что мы объявили строку, используя переменную «star_op» со строкой «educba», и с помощью оператора * мы получили «res », в которой будет храниться результат оператора «res * 4», который выведет заданную строку «educba» 4 раза.
2. Оператор +
Оператор Python + может использоваться для объединения заданных строк, что можно продемонстрировать в приведенном ниже примере.
Пример:
str1 = "Educba" str2 = "Обучение" str3 = "Институт" рез = стр1 + стр2 + стр3 print(res)
Вывод:
В приведенной выше программе мы видим, что мы используем оператор «+» для объединения данной строки, и результат печатается, как показано на снимке экрана выше. Точно так же для манипулирования строками используется множество различных операторов, таких как операторы «в», «не» и т.
Теперь мы увидим несколько встроенных строковых функций в Python, которые используются для манипулирования строками. Давайте обсудим несколько строковых встроенных функций в следующем разделе. Существует множество различных функций, таких как chr(), len(), str() и ord().
Давайте продемонстрируем эти функции на примере каждой функции.
print("Программа Python для демонстрации встроенной строковой функции для работы со строками") печать("\n") стр1 = "Е" ул2 = 35 str3 = "Образовательный учебный институт" рез1 = порядок (строка1) рез2 = хр(строка2) res3 = длина (str3) print("Эта функция str() используется для возврата строкового представления объекта") печать (стр (45,9)) печать("\n") print("Функция ord() используется для преобразования заданного символа в целое число") печать (рез1) печать("\n") print("Функция chr() используется для преобразования заданного целого числа в символ") печать (разрешение2) печать("\n") print("Функция len() используется для получения длины заданной строки") печать (рез3) print("\n")
Вывод:
В приведенной выше программе мы видим, что мы использовали 4 различные встроенные функции для работы со строками, чтобы продемонстрировать работу со строками с помощью этих строковых функций. В приведенной выше программе мы видим, что функция str() возвращает объект, переданный этой функции в строковом представлении, функция ord(), которая возвращает целочисленную форму заданного символа, функция chr() для возврата символьная форма для данного целого числа, переданного в функцию, функция len() возвращает количество символов в данной строке в качестве аргумента.
Индексирование строк — это еще один процесс обработки строк в Python. Поскольку строка имеет набор символов для доступа к каждому символу строки, нам нужно использовать метод индексации для извлечения указанного символа с использованием значений индекса или ключа. Давайте продемонстрируем в следующем разделе на примере.
Предположим, мы объявим строку и присвоим значение индекса каждому символу данной строки.
str_indx = "Образование" print("Символ указанного индекса 2 данной строки выглядит следующим образом") печать (str_indx [2])
Вывод:
В приведенной выше программе мы видим, что мы объявили строку «Educba», и каждая имеет индекс E как 0, d как 1, u как 2, c как 3, b как 4, a как 5. Там мы попросили напечатать символ с индексом 2, то есть «u».
Нарезка строк — еще один процесс, используемый при работе со строками. Нарезка строк в Python определяется как извлечение подстроки из заданной строки, где Python допускает форму индексации, которая поможет в нарезке строк. Разделение строк использует форму s[a:b], где «a» — это начальный индекс, а «b» — конечный индекс, который возвращает строку из индекса «a» в индекс «b». Продемонстрируем это на приведенном ниже примере.
Пример:
str_indx = "Educba" print("Данная строка разрезается, чтобы получить следующую подстроку") print(str_indx[2 : 5])
Вывод:
В приведенной выше программе мы видим, что мы объявили строку «Educba», и мы пытаемся извлечь подстроку или часть данной строки, используя индексы, указанные для каждого из символов. В программе мы указали для извлечения строки str_indx[2:5], что приведет к подстроке «ucb». Поэтому мы будем извлекать символы из индекса 2 в индекс 5, чтобы сформировать подстроку, которую мы можем видеть на скриншоте выше.
Заключение
В этой статье мы можем сделать вывод, что манипуляции со строками в Python определяются как процесс манипулирования строками с использованием таких процессов, как синтаксический анализ, нарезка, индексация и т. д. В этой статье мы видели, что манипуляции со строками выполняются с помощью строковых операторов, функции и методы, предоставляемые Python. Поэтому мы видели несколько строковых операторов, строковых функций и строковых методов, описанных с примерами. Мы также рассмотрели концепции индексации строк и разделения строк с примерами манипулирования строками.
Рекомендуемые статьи
Это руководство по работе со строками в Python. Здесь мы обсуждаем работу со строками в Python, а также операторы, используемые для работы со строками. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше:
- Python Dump
- Ошибка имени Python
- Каталоги Python
- Строка чтения файла Python
Управление строками в Python | Programming Historian
Этот урок является частью серии из 15 уроков — Вы находитесь на уроке 6 | предыдущий урок | следующий урок
Содержание
- Цели урока
- Управление строками Python
- Строковые операторы: сложение и умножение
- Объединение
- Умножить
- Добавить
- Строковые методы: поиск, изменение
- Длина
- Найти
- Нижний регистр
- Заменить
- Срез
- Escape-последовательности
- Рекомендуемая литература
- Синхронизация кода
Цели урока
Этот урок представляет собой краткое введение в технику работы со строками в Питон. Знание того, как манипулировать строками, играет решающую роль в большинстве задачи обработки текста. Если вы хотите поэкспериментировать со следующим уроки, вы можете писать и выполнять короткие программы, как мы делали это в предыдущих уроках этой серии, или вы можете открыть оболочку Python/терминал, чтобы попробовать их на командная строка.
Манипулирование строками Python
Если вы уже работали с другим языком программирования, вам возможно, вы узнали, что вам нужно объявить или ввести переменные, прежде чем вы в них можно хранить что угодно. В этом нет необходимости при работе с строки в Python. Мы можем создать строку, просто поместив содержимое завернутый в него кавычками со знаком равенства (=):
message="Hello World"
Строковые операторы: сложение и умножение
Строка — это тип объекта, который состоит из ряда символов. Python уже знает, как бороться с рядом универсальных и мощных представлений, включая струны. Одним из способов управления строками является использование строковых операторов . Эти операторы представлены символами, которые вы, вероятно, ассоциируете с математикой, такими как +, -, *, / и =. При использовании со строками они выполняют действия, которые похожи, но не совпадают с их математические аналоги.
Объединить
Этот термин означает объединение строк вместе. Процесс известен как объединяет строки, и это делается с помощью оператора плюс (+). Примечание что вы должны явно указать, где вы хотите, чтобы пробелы возникали, поместив их также между одинарными кавычками.
В этом примере строке «message1» присваивается содержимое «hello мир».
сообщение1 = 'привет' + ' ' + 'мир' печать (сообщение1) -> привет мир
Умножить
Если вам нужно несколько копий строки, используйте умножение (*) оператор. В этом примере строка message2a получает содержимое «привет» раза три; строка сообщение 2b получает содержимое «мир»; затем мы печатаем обе строки.
message2a = 'привет' * 3 message2b = 'мир' печать (сообщение2а + сообщение2б) -> привет привет привет мир
Append
Что делать, если вы хотите последовательно добавлять материал в конец строки? Для этого есть специальный оператор (+=).
сообщение3 = 'привет' сообщение3 += ' ' сообщение3 += 'мир' печать (сообщение3) -> привет мир
Строковые методы: поиск, изменение
В дополнение к операторам Python поставляется с предустановленными десятками строковые методы, которые позволяют вам делать что-то со строками. Используется отдельно или в комбинации, эти методы могут сделать почти все, что вы можете себе представить, чтобы струны. Хорошей новостью является то, что вы можете ссылаться на список String Методы на веб-сайте Python, включая информацию о том, как использовать каждый правильно. Чтобы убедиться, что у вас есть базовые знания о строке методов, ниже приводится краткий обзор некоторых из наиболее распространенных б/у:
Длина
Вы можете определить количество символов в строке, используя len
. Примечание
что пробел считается отдельным символом.
message4 = 'привет' + ' ' + 'мир' печать (длина (сообщение4)) -> 11
Найти
Вы можете найти в строке подстроку , и ваша программа вернет начальная позиция индекса этой подстроки. Это полезно для дальнейшего обработка. Обратите внимание, что индексы нумеруются слева направо и что счет начинается с позиции 0, а не 1.
сообщение5 = "привет мир" message5a = message5.find("мир") печать (сообщение 5а) -> 6
Если подстрока отсутствует, программа вернет значение -1.
message6 = "Привет, мир" message6b = message6.find("белка") печать (сообщение6b) -> -1
Нижний регистр
Иногда полезно преобразовать строку в нижний регистр. Например, если мы стандартизируем регистр, это облегчит распознавание компьютером что «иногда» и «иногда» — это одно и то же слово.
сообщение7 = "ПРИВЕТ, МИР" сообщение7а = сообщение7.нижний() печать (сообщение 7а) -> привет мир
Может быть достигнут противоположный эффект, перевод символов в верхний регистр. изменив .lower()
на .upper()
.
Заменить
Если вам нужно заменить подстроку в строке, вы можете сделать это
на метод заменить
.
message8 = "ПРИВЕТ, МИР" message8a = message8.replace("L", "пицца") печать (сообщение 8а) -> HEpizzapizzaO WORpizzaD
Отрезать
Если вы хотите отрезать
от нежелательных частей строки с самого начала
или закончить, вы можете сделать это, создав подстроку. Такая же техника
также позволяет разбить длинную строку на более управляемые компоненты.
сообщение9 = "Привет, мир" сообщение9а = сообщение9[1:8] печать (сообщение 9а) -> привет Ву
Целые числа, используемые в этом примере, можно заменить переменными.
startLoc = 2 конецлок = 8 message9b = message9[startLoc: endLoc] распечатать(сообщение9б) -> лло Ву
Это значительно упрощает использование этого метода в сочетании с найдите метод
, как в следующем примере, который проверяет букву «d» в
первые шесть символов «Hello World» и правильно говорит нам, что это
не там (-1). Этот метод гораздо полезнее в более длинных строках —
Например, целые документы. Обратите внимание, что отсутствие целого числа перед
двоеточие означает, что мы хотим начать с начала строки. Мы
можно использовать ту же технику, чтобы сообщить программе пройти весь путь до
конец, не помещая целое число после двоеточия. И помните, индекс
позиции начинают отсчет с 0, а не с 1.
сообщение9 = "Привет, мир" печать (сообщение9 [: 5]. найти ("d")) -> -1
Есть много других методов, но описанные выше строковые методы — хорошее начало. Примечание что в этом последнем примере мы используем квадратные скобки вместо круглые скобки. Это различие в синтаксисе сигнализирует о важном различии. В Python круглые скобки обычно используются для передачи аргумента в функция. Итак, когда мы видим что-то вроде
print(len(message7))
означает передать строку message7 на функцию len
, затем отправьте
возвращаемое значение этой функции в оператор print
для печати. Если
функцию можно вызвать без аргумента, часто приходится включать
в любом случае пара пустых скобок после имени функции. Мы увидели
пример этого тоже:
message7 = "HELLO WORLD" сообщение7а = сообщение7.нижний() печать (сообщение 7а) -> привет мир
Этот оператор указывает Python применить к строке более низкую функцию
. message7 и сохраните возвращенное значение в строке message7a .
Квадратные скобки служат для другой цели. Если вы думаете о строке
в виде последовательности символов, и вы хотите иметь доступ к
содержимое строки по их расположению в последовательности, то вы
нужен какой-то способ дать Python место в последовательности. То есть
что делают квадратные скобки: указывают начальное и конечное местоположение
внутри последовательности, как мы видели при использовании среза 9Метод 0210.
Escape-последовательности
Что вы делаете, когда вам нужно включить кавычки в строку? Вы же не хотите, чтобы интерпретатор Python понял неправильную идею и закончил string, когда встречается один из этих символов. В Питоне вы можете поставить обратную косую черту (\) перед кавычкой, чтобы она не завершить строку. Они известны как escape-последовательности.
печать('\"') -> "
print('Программа напечатала \"hello world\"') -> Программа напечатала "hello world"
Две другие управляющие последовательности позволяют печатать табуляцию и новую строку:
print('hello\thello\thello\nworld') -> привет привет привет мир
Рекомендуемая литература
- Lutz, Изучение Python
- Гл. 7: Струны
- Гл. 8: Списки и словари
- Гл. 10: Знакомство с операторами Python
- Гл. 15: Основные функции
Синхронизация кода
Чтобы следовать будущим урокам, важно иметь нужные файлы и программы в вашем каталоге истории программирования. В в конце каждой главы вы можете скачать zip-файл истории программирования чтобы убедиться, что у вас правильный код. Обратите внимание, что мы удалили ненужные файлы из предыдущих уроков.