Python

Замяна на низове на Python с помощта на Pattern

Замяна на низове на Python с помощта на Pattern
Всички данни за низове могат да бъдат заменени с друг низ в Python чрез замени () метод. Но ако искате да замените която и да е част от низа чрез съвпадение на определен модел, тогава трябва да използвате регулярен израз. Използва се за търсене на определен модел в определена стойност на низа и низът ще бъде заменен с друг низ, ако бъде намерено съвпадение. Python използва ти си модул за използване на шаблон на регулярен израз в скрипта за търсене, съвпадение или замяна. Използването на шаблони на регулярни изрази за заместване на низове е малко по-бавно от нормалния метод replace (), но много сложни търсения и замяна могат да бъдат направени лесно с помощта на шаблона. Можете да замените низ по различни начини, като използвате шаблона в Python. Някои често срещани употреби на шаблон за замяна на низ са показани в този урок. Spyder3 тук се използва редактор за писане и стартиране на скрипта.

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

Преди да използвате шаблона за замяна на низ, трябва да знаете начина за писане на шаблон на регулярен израз. Можете да използвате всяка стойност на низ като модел за точното съвпадение. Но за конкретното търсене трябва да напишете шаблона на регулярния израз, като използвате метасимвол. Списъкът с най-използваните метасимволи за писане на модели е даден по-долу със значение.

    Характер  Описание
    .  Използва се за съвпадение на всеки един символ, с изключение на нов ред.
    ^  Използва се за съвпадение на всеки символ или низ в началото на

низ.

    $  Използва се за съвпадение на всеки символ или низ в края на низа.
    +  Използва се за съвпадение на едно или повече повторения на шаблона.
    ?  Използва се за съвпадение на нула или една поява на шаблона.
   ()  Използва се за групиране на модели.
   Използва се за съвпадение въз основа на долна или горна част или както долна, така и горна

граници.

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

нецифрени.

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

под () метод на ти си модул се използва в Python за замяна на низове.

Синтаксис:

под (модел, замяна, низ, брой = 0, флагове = 0)

Тук модел, замени и низ са задължителни аргументи. Ако модел се съчетава с която и да е част от низ тогава ще замени частта със стойността на заместване на аргумент. Другите два аргумента не са задължителни. Някои приложения на гореспоменатите метасимволи с метода sub () са показани в следващите примери за заместване на низове.

Пример-1: Заменете низа с точно съвпадение

Ако знаете точната стойност на низа, която искате да търсите в основния низ, тогава можете да използвате стойността на низа за търсене като шаблон в под () метод. Създайте файл на python със следния скрипт. Тук стойността на низа за търсене е „дъждовна“, а заменящата стойност на низа е „слънчева“.

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

Изход:

Изходът е показан от дясната страна на изображението.

Пример-2: Търсене и замяна на низ в началото

Създайте файл на python със следния скрипт, за да знаете как се използва „^“ в модела на регулярния израз. Тук, '^ [A-Za-z] + ' се използва като шаблон за търсене. Той ще търси всички азбучни символи от A да се Z и а да се z в началото на текста и го заменете с празна стойност. Замененият низ ще бъде отпечатан с главни букви за горен() метод.

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

Изход:

Изходът е показан от дясната страна на изображението. Тук, „Здравейте, добре дошли в linuxhint“ се приема като вход и 'Здравейте' думата се заменя с " за модела.

Пример-3: Търсене и замяна на низ в края

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

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

Изход:

Изходът е показан в дясната страна на изображението. Тук, „https: // www.google.com 'се приема като входен текст и след замяна,' https: // www.google.com.bd 'се отпечатва като изход.

Пример-4: Търсене и замяна на конкретната част от низ

Създайте файл на python със следния скрипт, за да търсите и замените частта от текста на мястото, където шаблонът съвпада. Тук списък с имейл адреси се присвоява като текст в имената на променливата имейли. '@ [a-z]' се използва модел за търсене. Той ще търси всички поднизове, започващи с малки азбуки, последвани от '@символ. Ако някой подниз съвпада, той ще замени този подниз с '@linuxhint'.

#!/ usr / bin / env python3
# Импортиране на модул за регулярни изрази
внос re
# Определете низ
имейли = '\ n [имейл защитен] \ n [имейл защитен] \ n [имейл защитен]'
# Заменете конкретната част от низа въз основа на шаблон
replaceText = re.под ('@ [a-z] *', '@linuxhint', имейли)
# Отпечатайте оригиналния низ
print ("Оригинален текст:", имейли)
# Отпечатайте заменения низ
print ("\ nЗаменен текст:", 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 се поддържа на PlayOnLinux, ако сте п...
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...