Python

Zamenjava niza Python z vzorcem

Zamenjava niza Python z vzorcem
Vse podatke o nizu lahko v Pythonu nadomestimo z drugimi nizi z uporabo the replace () metoda. Če pa želite kateri koli del niza nadomestiti z ujemanjem določenega vzorca, morate uporabiti regularni izraz. Uporablja se za iskanje določenega vzorca v določeni vrednosti niza in niz bo nadomeščen z drugim nizom, če je bilo najdeno ujemanje. Python uporablja '' modul za uporabo vzorca regularnega izraza v skriptu za iskanje, ujemanje ali zamenjavo. Uporaba vzorcev regularnih izrazov za zamenjavo nizov je nekoliko počasnejša od običajne metode replace (), vendar je veliko zapletenih iskanj in zamenjav mogoče enostavno opraviti z uporabo vzorca. Niz lahko na različne načine zamenjate z vzorcem v Pythonu. V tej vadnici so prikazane nekatere pogoste uporabe vzorcev za zamenjavo niza. Spyder3 urejevalnik se tukaj uporablja za pisanje in zagon skripta.

Seznam metaznakov:

Preden vzorec uporabite za zamenjavo niza, morate poznati način za pisanje vzorca regularnega izraza. Kot vzorec za natančno ujemanje lahko uporabite katero koli vrednost niza. Toda za določeno iskanje morate napisati vzorec regularnega izraza z uporabo metaznakov. Seznam najpogosteje uporabljenih metaznakov za pisanje vzorcev je spodaj s pomenom.

    Značaj  Opis
    .  Uporablja se za ujemanje s posameznim znakom, razen z novo vrstico.
    ^  Uporablja se za ujemanje katerega koli znaka ali niza na začetku

vrvica.

    $  Uporablja se za ujemanje katerega koli znaka ali niza na koncu niza.
    +  Uporablja se za ujemanje enega ali več pojavitev vzorca.
    ?  Uporablja se za ujemanje nič ali enega pojavljanja vzorca.
   ()  Uporablja se za razvrščanje vzorcev v skupine.
   Uporablja se za ujemanje na podlagi spodnjega ali zgornjega ali spodnjega in zgornjega

meje.

   []  Uporablja se za ujemanje znakov glede na dani obseg.
   |  Uporablja se za ujemanje vzorcev, ki temeljijo na logiki ALI.
   \  Uporablja se za določanje določenih znakov ali neznakov ali števk oz

neštevilčne.

Metoda zamenjave:

pod () metoda '' modul se uporablja v Pythonu za zamenjavo nizov.

Sintaksa:

pod (vzorec, zamenjava, niz, štetje = 0, zastavice = 0)

Tukaj vzorec, zamenjati in vrvica so obvezni argumenti. Če je vzorec se ujema s katerim koli delom vrvica potem bo del nadomestil z vrednostjo zamenjava prepir. Druga dva argumenta sta neobvezna. Nekatere uporabe zgoraj omenjenih metaznakov z metodo sub () so prikazane v naslednjih primerih zamenjave nizov.

Primer-1: Niz zamenjajte z natančnim ujemanjem

Če poznate natančno vrednost niza, ki jo želite iskati v glavnem nizu, lahko uporabite vrednost iskalnega niza kot vzorec v pod () metoda. Ustvarite datoteko python z naslednjim skriptom. Tukaj je vrednost niza iskanja 'deževno' in nadomestna vrednost niza je 'sončno'.

#!/ usr / bin / env python3
# Uvozi modul regularnega izraza
uvozi ponovno
# Določite niz
orgStr = "Deževen dan je"
# Zamenjajte niz
repStr = re.sub ("deževno", "sončno", orgStr)
# Natisnite izvirni niz
print ("Izvirno besedilo:", orgStr)
# Natisnite zamenjani niz
print ("Zamenjano besedilo:", repStr)

Izhod:

Izhod je prikazan na desni strani slike.

Primer-2: Iskanje in zamenjava niza na začetku

Ustvarite datoteko python z naslednjim skriptom, da boste vedeli, kako se uporablja '^' v vzorcu regularnega izraza. Tukaj, '^ [A-Za-z] + ' se uporablja kot vzorec iskanja. Iskal bo vse abecedne znake iz A do Z in a do z na začetku besedila in ga nadomestite s prazno vrednostjo. Nadomeščeni niz bo natisnjen z velikimi črkami za zgornji () metoda.

#!/ usr / bin / env python3
# Uvozi modul regularnega izraza
uvozi ponovno
# Vnesite niz
originalText = input ("Vnesite besedilo \ n")
# Niz zamenjajte glede na vzorec
replaceText = re.pod ('^ [A-Za-z] +', ", originalText).zgornji ()
# Natisnite zamenjani niz
print ("Zamenjano besedilo:", zamenjano besedilo)

Izhod:

Izhod je prikazan na desni strani slike. Tukaj, 'Pozdravljeni, dobrodošli pri linuxhint' je vzet kot vhod in 'Zdravo' beseda se nadomesti z " za vzorec.

Primer-3: Iskanje in zamenjava niza na koncu

Ustvari datoteko python z naslednjim skriptom, da poznaš uporabo '$ ' simbol v vzorcu regularnega izraza. Tukaj, '[a-z0-9] + $'se uporablja kot vzorec v skriptu. Preiskal bo vse majhne abecede in številke na koncu besedila in če vrne true, bo ustrezni del zamenjal niz, 'com.bd".

#!/ usr / bin / env python3
# Uvozi modul regularnega izraza
uvozi ponovno
# Vnesite niz
originalText = input ("Vnesite url naslov \ n")
# Niz zamenjajte glede na vzorec
replaceText = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Natisnite zamenjani niz
print ("Zamenjano besedilo:", zamenjano besedilo)

Izhod:

Izhod je prikazan na desni strani slike. Tukaj je 'https: // www.google.com 'je vhodno besedilo, po zamenjavi pa' https: // www.google.com.bd 'je natisnjen kot izhod.

Primer-4: Iskanje in zamenjava določenega dela niza

Ustvarite datoteko python z naslednjim skriptom za iskanje in zamenjavo dela besedila na mestu, kjer se vzorec ujema. Tu je seznam e-poštnih naslovov dodeljen kot besedilo spremenljivki z imenom e-poštna sporočila. '@ [a-z]' je uporabljen vzorec za iskanje. Iskal bo vse podnize, ki se začnejo z majhnimi abecedami, ki jim sledi '@'simbol. Če se kateri koli podniz ujema, ga bo zamenjal z '@linuxhint".

#!/ usr / bin / env python3
# Uvozi modul regularnega izraza
uvozi ponovno
# Določite niz
e-pošta = '\ n [zaščitena po e-pošti] \ n [zaščitena po e-pošti] \ n [zaščitena po e-pošti]'
# Zamenjajte določen del niza glede na vzorec
replaceText = re.pod ('@ [a-z] *', '@linuxhint', e-poštna sporočila)
# Natisnite izvirni niz
print ("Izvirno besedilo:", e-pošta)
# Natisnite zamenjani niz
print ("\ nNameščeno besedilo:", replaceText)

Izhod:

Izhod je prikazan na desni strani slike. Tu je vsak domenski del e-poštnega naslova, dodeljenega v besedilu, nadomeščen z 'linuxhint".

Zaključek:

V tej vadnici je za zamenjavo nizov prikazano nekaj zelo pogostih načinov uporabe vzorcev regularnih izrazov. V pythonu obstajajo številne druge možnosti za pisanje različnih vrst preprostih in zapletenih vzorcev za iskanje in zamenjavo niza besedila.

Oglejte si avtorski video: tukaj

Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...
Najboljše igre ukazne vrstice za Linux
Ukazna vrstica ni le vaš največji zaveznik pri uporabi Linuxa - lahko je tudi vir zabave, saj jo lahko uporabljate za igranje številnih zabavnih iger,...