Python

Замена строки Python с использованием шаблона

Замена строки Python с использованием шаблона
Любые строковые данные можно заменить другой строкой в ​​Python с помощью заменить () метод. Но если вы хотите заменить любую часть строки на соответствие определенному шаблону, вам нужно использовать регулярное выражение. Он используется для поиска определенного шаблона в конкретном строковом значении, и строка будет заменена другой строкой, если найдено какое-либо совпадение. Python использует 're' модуль для использования шаблона регулярного выражения в скрипте для поиска, сопоставления или замены. Использование шаблонов регулярных выражений для замены строк немного медленнее, чем обычный метод replace (), но многие сложные поиски и замены можно легко выполнить с помощью шаблона. Вы можете заменить строку различными способами, используя шаблон в Python. В этом руководстве показаны некоторые распространенные варианты использования шаблона для замены строки. Spyder3 редактор здесь используется для написания и запуска скрипта.

Список метасимволов:

Прежде чем использовать шаблон для замены строки, вы должны знать, как написать шаблон регулярного выражения. Вы можете использовать любое строковое значение в качестве шаблона для точного совпадения. Но для конкретного поиска вы должны написать шаблон регулярного выражения, используя метасимвол. Список наиболее часто используемых метасимволов для написания шаблонов приведен ниже со смыслом.

    Персонаж  Описание
    .  Он используется для соответствия любому одиночному символу, кроме новой строки.
    ^  Он используется для сопоставления любого символа или строки в начале

нить.

    $  Он используется для сопоставления любого символа или строки в конце строки.
    +  Он используется для сопоставления одного или нескольких экземпляров шаблона.
    ?  Он используется для сопоставления нуля или одного вхождения шаблона.
   ()  Используется для группировки паттернов.
   Он используется для соответствия на основе нижнего или верхнего или нижнего и верхнего

пределы.

   []  Он используется для сопоставления символов на основе заданного диапазона.
   |  Он используется для сопоставления шаблонов на основе логики ИЛИ.
   \  Он используется для определения определенных символов или не символов, цифр или

нецифровые.

Заменить метод:

sub () метод 're' модуль используется в Python для замены строки.

Синтаксис:

sub (шаблон, замена, строка, счетчик = 0, флаги = 0)

Здесь шаблон, заменять а также нить обязательные аргументы. Если шаблон совпадает с любой частью нить тогда он заменит часть на значение замена аргумент. Два других аргумента являются необязательными. Некоторые варианты использования вышеупомянутых метасимволов с методом sub () показаны в следующих примерах замены строк.

Пример-1: заменить строку точным соответствием

Если вы знаете точное строковое значение, которое хотите искать в основной строке, вы можете использовать значение поисковой строки в качестве шаблона в sub () метод. Создайте файл python со следующим скриптом. Здесь строковое значение поиска - "дождливый", а заменяющее строковое значение - "солнечно".

#!/ usr / bin / env python3
# Импортировать модуль регулярных выражений
импортный ре
# Определить строку
orgStr = "Дождливый день"
# Заменить строку
repStr = re.sub ("дождливый", "солнечный", orgStr)
# Распечатать исходную строку
print ("Исходный текст:", orgStr)
# Вывести замененную строку
print ("Замененный текст:", repStr)

Выход:

Результат показан в правой части изображения.

Пример-2: поиск и замена строки в начале

Создайте файл python со следующим сценарием, чтобы узнать об использовании '^' в шаблоне регулярного выражения. Здесь, '^ [A-Za-z] + ' используется как шаблон поиска. Он будет искать все буквенные символы из А к Z а также а к z в начале текста и замените его пустым значением. Замененная строка будет напечатана в верхнем регистре для верхний () метод.

#!/ usr / bin / env python3
# Импортировать модуль регулярных выражений
импортный ре
# Принимаем строковый ввод
originalText = input ("Введите текст \ n")
# Заменить строку на основе шаблона
replaceText = re.sub ('^ [A-Za-z] +', ", originalText).верхний ()
# Вывести замененную строку
print ("Замененный текст:", replaceText)

Выход:

Результат показан в правой части изображения. Здесь, 'Привет, добро пожаловать в linuxhint' берется в качестве входных данных и 'Привет' слово заменяется на " для выкройки.

Пример-3: поиск и замена строки в конце

Создайте файл python со следующим сценарием, чтобы узнать об использовании '$ ' символ в шаблоне регулярного выражения. Здесь, '[a-z0-9] + $'используется как шаблон в скрипте. Он будет искать все маленькие буквы и цифры в конце текста, и если вернет true, то соответствующая часть будет заменена строкой, 'ком.bd'.

#!/ usr / bin / env python3
# Импортировать модуль регулярных выражений
импортный ре
# Принимаем строковый ввод
originalText = input ("Введите URL-адрес \ n")
# Заменить строку на основе шаблона
replaceText = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Вывести замененную строку
print ("Замененный текст:", replaceText)

Выход:

Результат показан в правой части изображения. Здесь https: // www.Google.com 'принимается как вводимый текст, а после замены' https: // www.Google.ком.bd 'печатается как вывод.

Пример-4: поиск и замена определенной части строки

Создайте файл python со следующим скриптом для поиска и замены части текста в том месте, где совпадает шаблон. Здесь список адресов электронной почты назначается в виде текста переменной с именем электронные письма. '@ [a-z]' используется шаблон для поиска. Он будет искать любую подстроку, начинающуюся с маленьких букв, за которыми следует '@' символ. Если какая-либо подстрока совпадает, она заменит эту подстроку на '@linuxhint'.

#!/ usr / bin / env python3
# Импортировать модуль регулярных выражений
импортный ре
# Определить строку
emails = '\ n [защита электронной почты] \ n [защита электронной почты] \ n [защита электронной почты]'
# Заменить конкретную часть строки по шаблону
replaceText = re.sub ('@ [a-z] *', '@linuxhint', электронные письма)
# Распечатать исходную строку
print ("Исходный текст:", электронные письма)
# Вывести замененную строку
print ("\ nReplaced Text:", replaceText)

Выход:

Результат показан в правой части изображения. Здесь каждая доменная часть адреса электронной почты, назначенная в тексте, заменена на 'linuxhint'.

Заключение:

В этом руководстве показаны некоторые очень распространенные варианты использования шаблонов регулярных выражений для замены строк. В python существует множество других вариантов для написания различных типов простых и сложных шаблонов для поиска и замены строки текста.

Посмотреть авторское видео: здесь

Битва за Веснот 1.13.6 Выпущена разработка
Битва за Веснот 1.13.6, выпущенная в прошлом месяце, является шестой разработкой в ​​1.13.x и содержит ряд улучшений, в первую очередь пользовательско...
Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...