Piton

Zamjena Python niza pomoću uzorka

Zamjena Python niza pomoću uzorka
Bilo koji niz podataka može se zamijeniti drugim nizom u Pythonu pomoću zamijeni () metoda. Ali ako želite zamijeniti bilo koji dio niza podudaranjem određenog uzorka, tada morate koristiti regularni izraz. Koristi se za pretraživanje određenog uzorka u određenoj vrijednosti niza i niz će biti zamijenjen drugim nizom ako se pronađe bilo koje podudaranje. Python koristi 'ponovno' modul za upotrebu uzorka regularnog izraza u skripti za pretraživanje, podudaranje ili zamjenu. Korištenje obrazaca regularnih izraza za zamjenu niza malo je sporije od uobičajene metode replace (), ali mnoga složena pretraživanja i zamjena mogu se lako izvršiti pomoću uzorka. Niz možete zamijeniti na razne načine pomoću uzorka u Pythonu. U ovom su uputstvu prikazane neke uobičajene upotrebe uzoraka za zamjenu niza. Spyder3 editor se ovdje koristi za pisanje i pokretanje skripte.

Popis metaznaka:

Prije korištenja uzorka za zamjenu niza, morate znati način pisanja uzorka regularnog izraza. Možete koristiti bilo koju vrijednost niza kao uzorak za točno podudaranje. Ali za određeno pretraživanje, morate napisati obrazac regularnog izraza pomoću metaznaka. Popis najčešće korištenih metaznakova za pisanje obrazaca dan je sa značenjem.

    Lik  Opis
    .  Koristi se za podudaranje bilo kojeg pojedinog znaka, osim novog retka.
    ^  Koristi se za podudaranje s bilo kojim znakom ili nizom na početku

niz.

    $  Koristi se za podudaranje s bilo kojim znakom ili nizom na kraju niza.
    +  Koristi se za podudaranje jedne ili više pojava uzorka.
    ?  Koristi se za podudaranje s nulom ili jednom pojavom uzorka.
   ()  Koristi se za grupiranje uzoraka.
   Koristi se za podudaranje na temelju donjeg ili gornjeg ili i donjeg i gornjeg

ograničenja.

   []  Koristi se za podudaranje znakova na temelju zadanog raspona.
   |  Koristi se za podudaranje obrazaca zasnovanih na ILI logici.
   \  Koristi se za definiranje specifičnih znakova ili ne-znakova ili znamenki ili

neznamenkasti.

Zamijenite metodu:

pod() metoda 'ponovno' modul se koristi u Pythonu za zamjenu niza.

Sintaksa:

pod (obrazac, zamjena, niz, brojanje = 0, zastavice = 0)

Ovdje uzorak, zamijeniti i niz su obvezni argumenti. Ako je uzorak podudara se s bilo kojim dijelom niz tada će dio zamijeniti vrijednošću zamjenjujući argument. Druga dva argumenta nisu obavezna. Neke upotrebe gore spomenutih metakaraktera s metodom sub () prikazane su u sljedećim primjerima zamjene niza.

Primjer-1: Zamijenite niz točno podudaranjem

Ako znate točnu vrijednost niza koju želite pretraživati ​​u glavnom nizu, tada možete koristiti vrijednost niza za pretragu kao obrazac u pod() metoda. Stvorite python datoteku sa sljedećom skriptom. Ovdje je vrijednost niza za pretraživanje 'kišno', a vrijednost niza koji zamjenjuje je 'sunčano'.

#!/ usr / bin / env python3
# Uvoz modula regularnog izraza
uvoz re
# Definirajte niz
orgStr = "Kišan je dan"
# Zamijenite niz
repStr = re.sub ("kišovito", "sunčano", orgStr)
# Ispis originalnog niza
ispis ("Izvorni tekst:", orgStr)
# Ispišite zamijenjeni niz
ispis ("Zamijenjeni tekst:", repStr)

Izlaz:

Izlaz je prikazan na desnoj strani slike.

Primjer-2: Pretražite i zamijenite niz na početku

Stvorite python datoteku sa sljedećom skriptom da biste znali kako se koristi '^' u uzorku regularnog izraza. Evo, '^ [A-Za-z] + ' koristi se kao obrazac pretraživanja. Pretražit će sve abecedne znakove iz A do Z i a do z na početku teksta i zamijenite ga praznom vrijednošću. Zamijenjeni niz bit će ispisan velikim slovom za Gornji() metoda.

#!/ usr / bin / env python3
# Uvoz modula regularnog izraza
uvoz re
# Unesite niz
originalText = input ("Unesite tekst \ n")
# Zamijenite niz na temelju uzorka
replaceText = re.sub ('^ [A-Za-z] +', ", originalText).Gornji()
# Ispišite zamijenjeni niz
ispis ("Zamijenjeni tekst:", replaceText)

Izlaz:

Izlaz je prikazan na desnoj strani slike. Ovdje, 'Pozdrav, dobrodošli u linuxhint' uzima se kao ulaz i 'Zdravo' riječ se zamjenjuje s " za uzorak.

Primjer-3: Traži i zamijeni niz na kraju

Stvorite python datoteku sa sljedećom skriptom kako biste znali upotrebu '$ ' simbol u uzorku regularnog izraza. Evo, '[a-z0-9] + $'koristi se kao obrazac u skripti. Pretražit će sve male abecede i znamenke na kraju teksta, a ako vrati true, odgovarajući će dio biti zamijenjen nizom, 'com.bd'.

#!/ usr / bin / env python3
# Uvoz modula regularnog izraza
uvoz re
# Unesite niz
originalText = input ("Unesite URL adresu \ n")
# Zamijenite niz na temelju uzorka
replaceText = re.pod ('[a-z0-9] + $', 'kom.bd ', originalText)
# Ispišite zamijenjeni niz
ispis ("Zamijenjeni tekst:", replaceText)

Izlaz:

Izlaz je prikazan na desnoj strani slike. Evo, 'https: // www.google.com 'uzima se kao ulazni tekst, a nakon zamjene,' https: // www.google.com.bd 'ispisuje se kao izlaz.

Primjer 4: Pretražite i zamijenite određeni dio niza

Stvorite python datoteku sa sljedećom skriptom za pretraživanje i zamjenu dijela teksta na mjestu gdje se obrazac podudara. Ovdje je popis adresa e-pošte dodijeljen kao tekst u imenovanu varijablu e-mailova. '@ [a-z]' koristi se obrazac za pretraživanje. Pretražit će bilo koji podniz koji započinje malim abecedama iza kojih slijedi '@'simbol. Ako se bilo koji podniz podudara, tada će ga zamijeniti s '@ linuxhint'.

#!/ usr / bin / env python3
# Uvoz modula regularnog izraza
uvoz re
# Definirajte niz
e-adrese = '\ n [zaštićena e-poštom] \ n [zaštićena e-poštom] \ n [zaštićena e-poštom]'
# Zamijenite određeni dio niza na temelju uzorka
replaceText = re.pod ('@ [a-z] *', '@linuxhint', e-adrese)
# Ispis originalnog niza
ispis ("Izvorni tekst:", e-poruke)
# Ispišite zamijenjeni niz
print ("\ nZamijenjeni tekst:", replaceText)

Izlaz:

Izlaz je prikazan na desnoj strani slike. Ovdje se svaki dio domene adrese e-pošte dodijeljene u tekstu zamjenjuje s 'linuxhint'.

Zaključak:

Neke vrlo uobičajene upotrebe obrazaca regularnih izraza prikazane su u ovom vodiču za zamjenu niza. U pythonu postoje mnoge druge mogućnosti za pisanje različitih vrsta jednostavnih i složenih obrazaca za pretraživanje i zamjenu niza teksta.

Pogledajte autorski video: ovdje

Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...