Python заменить начало строки

Шпаргалка по строкам (str) в Python

Строки являются неизменяемыми упорядоченными коллекциями.

Строковые литералы
s = 'string' # 'string' s = "string" # 'string' s = str(123) # '123' 
s = '''1 2 3''' s = """1 2 3""" # 1 # 2 # 3 
Ввод из консоли

Записывает строки из стандартного ввода. str — текст, который выводится в консоль перед вводом.

Более быстрая версия. Можно ограничить максимум считываемых символов, указав n .

Вариации строк

r» — сырые строки. Подавляют экранирование.

f» — форматированные строки (f-строки).

Операции со строками

Способ Пример Результат
Конкатенация ‘a’ + ‘b’ ‘ab’
Дублирование ‘a’ * 3 ‘aaa’
Взятие по индексу ‘abc'[1] ‘b’
Срезы ‘abcde'[3:1:-1] ‘dc’

Форматирование строк

Стандартные средства
Способ Пример
оператор % «Принято: %a шт. Отправлено: %d шт.» % (x, y)
format() «Принято: <> шт. Отправлено: <> шт.».format(x, y)
f-строки f»Принято: шт. Отправлено: шт.»
Шаблоны
from string import Template t = Template('Принято: $x шт. Отправлено: $y шт.') t.substitute(x=2, y=1) # Принято: 2 шт. Отправлено: 1 шт. 

Служебные символы

Символ Назначение Пример Результат
\n Перевод строки ‘ab \n cd’ ab
cd
\ Экранирование ‘ab \\ ncd’ ab\ncd
\a Звонок ‘a \a a’ aa
\b Забой ‘ab \b a’ ac
\f Перевод страницы ‘a \f a’ a a
\r Возврат каретки ‘ab \r cd’ cd
\t Горизонтальная табуляция ‘a \t a’ a a
\v Вертикальная табуляция ‘a \v a’ a a
\N

Символ Юникода по id ‘ \N ‘ °
\uhhhh 16-ричный символ Юникода ‘ \u2030 ‘
\Uhhhh… 32-ичный символ Юникода ‘ \U00000394 ‘ Δ
\xhh 16-ричное значение символа ‘ \x2A ‘ *
\ooo восьмеричное значение символа ‘ /275 ‘ ½
\0 символ Null ‘ \0 ‘

Методы строк

Метод Назначение
s.capitalize() переводит первую букву в верхний, а остальные в нижний регистр.
s.casefold() переводит все символы в нижний регистр
s.center(width[, fillvalue]) обрамляет значениями fillvalue строку, пока длина не станет width
s.count(str[, start][, end] считает количество подстрок str в выбранном промежутке строки
s.encode(encoding, errors) меняет кодировку строки
s.endswith(suffix[, start][, end]) возвращает True если строка заканчивается на suffix , иначе False
s.expandtabs(tabsize=8) увеличивает размер символов табуляции до tabsize пробелов
s.find(str[, start][, end]) возвращает индекс начала первой подстроки str в выбранном промежутке или -1 , если она не найдена
s.format(args, *kwargs) последовательно заменяет <> в строке на свои аргументы
s.format_map(dict) заменяет > в строке на dict[]
s.index(str[, start][, end]) возвращает индекс начала первой подстроки str в выбранном промежутке или ValueError , если она не найдена
s.isalnum() возвращает True , если строка состоит только из букв и цифр, иначе False
s.isalpha() возвращает True , если строка состоит только из букв, иначе False
s.isdecimal() возвращает True , если строка состоит только из цифр, иначе False [1]
s.isdigit() возвращает True , если строка состоит только из цифр, иначе False [1]
s.isidentifier() возвращает True , если строка является идентификатором ( if , class , assert ), иначе False
s.islower() возвращает True , если вся строка в нижнем регистре, иначе False
s.isnumeric() возвращает True , если строка состоит только из цифр, иначе False [1]
s.isprintable() возвращает True , если все символы строки отображаются, иначе False (например, \n , \t )
s.isspace() возвращает True , если строка состоит из пробелов, иначе False
s.istitle() возвращает True , если строка начинается с заглавной буквы, а остальные — строчные, иначе False
s.isupper() возвращает True , если строка в верхнем регистре, иначе False
s.join(iter) склеивает элементы последовательности iter в одну строку с разделителем s
s.ljust(width, fillchar=’ ‘) добавляет в конец строки символ fillchar , пока длина не станет width
s.lower() переводит символы строки в нижний регистр
s.lstrip([chars]) возвращает строку без пробельных символов или chars в начале
s.maketrans(*args) возвращает таблицу перевода для s.translate
s.partition(sep) разделяет строку на три части по первому разделителю sep : [начало, sep , конец]
s.replace(old, new) заменяет все подстроки old на new
s.rfind(str[, start][, end]) возвращает индекс начала последней подстроки str в выбранном промежутке или -1 , если она не найдена
s.rindex(str[, start][, end]) возвращает индекс начала последней подстроки str в выбранном промежутке или ValueError , если она не найдена
s.rjust(width, fillchar=’ ‘) добавляет в начало строки символ fillchar , пока длина не станет width
s.rpartition() разделяет строку на три части по последнему разделителю sep : [начало, sep , конец]
s.rsplit(sep=’ ‘, maxsplit=-1) возвращает список подстрок, разделенных по sep до maxsplit раз (с конца)
s.rstrip([chars]) возвращает строку без пробельных символов или chars в конце
s.split((sep=’ ‘, maxsplit=-1)) возвращает список подстрок, разделенных по sep до maxsplit раз
s.splitlines(keepends=False) Разделяет строку по \n . Не удаляет разделители, если keepends=True .
s.startswith(prefix[, start][, end]) возвращает True если строка начинается с prefix , иначе False
s.strip([chars]) возвращает строку без пробельных символов или chars в начале и конце
s.swapcase() меняет регистр всех символов на противоположный
s.title() возвращает строку, где все слова начинаются с заглавной буквы, а продолжаются строчными
s.translate(table) заменяет все символы строки согласно таблице перевода
s.upper() возвращает копию строки в верхнем регистре
s.zfill(width) Заполняет строку указанным числом нулей в начале

Примечания

isdecimal, isdigit, isnumeric

Эти три метода отличаются тем, как обрабатывают некоторые символы Юникода.

c1 = '\u00B2' # ² c1.isdecimal() # False c1.isdigit() # True c2 = '\u00BD' # ½ c2.isdecimal() # False c2.isdigit() # False c2.isnumeric() # True 

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

Практический Python для начинающих

Практический Python для начинающих

Станьте junior Python программистом за 7 месяцев

Источник

Изучаем метод replace() в Python: простой способ замены подстрок

Изучаем метод replace() в Python: простой способ замены подстрок

Метод replace() в Python используется для замены всех вхождений указанной подстроки в строке на другую подстроку.

Его можно использовать для многих задач, таких как изменение текстовых файлов, удаление или замена определенных символов или строк в строке.

В этой статье мы рассмотрим, как использовать метод replace() , а также приведем несколько примеров его использования.

Синтаксис

Метод replace() заменяет все вхождения одной подстроки на другую в строке и имеет следующий синтаксис:

  • str — строка, в которой нужно выполнить замену;
  • old — подстрока, которую нужно заменить;
  • new — новая подстрока, которой нужно заменить все вхождения old;
  • count — необязательный параметр, который указывает, сколько раз нужно выполнить замену. По умолчанию заменятся все вхождения old.

Примеры использования метода replace()

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

Допустим, у вас есть строка, в которой нужно заменить все вхождения одного символа на другой. В этом примере мы заменяем все запятые в строке на точки с помощью метода replace() :

s = '3,14' new_s = s.replace(',', '.') print(new_s) # '3.14'

Замена слов в строке

Метод replace() также может использоваться для замены слов в строке. Например, в следующем примере мы заменяем все вхождения слова «Python» на «JavaScript» в строке:

s = 'Python is my favorite programming language. I love Python!' new_s = s.replace('Python', 'JavaScript') print(new_s) # 'JavaScript is my favorite programming language. I love JavaScript!'

Ограничение количества замен

Метод replace() позволяет ограничить количество замен с помощью параметра count . Например, в следующем примере мы заменяем только первые два вхождения слова «Python» на «JavaScript»:

s = 'Python is my favorite programming language. I love Python!' new_s = s.replace('Python', 'JavaScript', 2) print(new_s) # 'JavaScript is my favorite programming language. I love Python!'

Замена нескольких символов одновременно

Метод replace() также может использоваться для замены нескольких символов одновременно. Например, в следующем примере мы заменяем все вхождения символов a , b и c на символ x :

s = 'abcabc' new_s = s.replace('a', 'x').replace('b', 'x').replace('c', 'x') print(new_s) # 'xxxxxx'

Замена со знаками препинания

Метод replace() может использоваться для замены знаков препинания на пробелы. Например, в следующем примере мы заменяем знаки препинания на пробелы:

s = "Hello, world! This is a test." new_s = s.replace(",", " ").replace("!", " ") print(new_s) # 'Hello world This is a test '

Замена только в начале или в конце строки

Метод replace() заменяет все вхождения подстроки в строке. Если вы хотите заменить только первое вхождение подстроки в строке или только в начале или в конце строки, вам может потребоваться использовать методы startswith() или endswith() . Например, в следующем примере мы заменяем только первое вхождение слова «Python» на «JavaScript»:

s = 'Python is my favorite programming language. I love Python!' new_s = s.replace('Python', 'JavaScript', 1) print(new_s) # 'JavaScript is my favorite programming language. I love Python!'

Использование регулярных выражений

Метод replace() не поддерживает использование регулярных выражений. Если вам нужно использовать регулярные выражения для выполнения замены в строке, вам следует использовать модуль re . Например, мы можем использовать модуль re для замены всех цифр в строке на символ x :

import re s = "123abc456def789" new_s = re.sub(r"\d", "x", s) print(new_s) # 'xxxabcxxxdefxxx'

Заключение

Метод replace() является мощным инструментом для работы со строками в Python. Он позволяет легко заменять все вхождения одной подстроки на другую в строке и может использоваться во многих ситуациях. Также может использоваться для замены нескольких символов одновременно, а также для ограничения количества замен. Однако, при использовании этого метода следует быть осторожным и учитывать специфику конкретной задачи.

Источник

Читайте также:  Python установка через pip windows
Оцените статью