Python

Výmena reťazca Pythonu pomocou vzoru

Výmena reťazca Pythonu pomocou vzoru
Akékoľvek údaje reťazca je možné nahradiť iným reťazcom v Pythone pomocou nahradiť () metóda. Ak ale chcete nahradiť ktorúkoľvek časť reťazca zhodou s konkrétnym vzorom, musíte použiť regulárny výraz. Používa sa na hľadanie konkrétneho vzoru v konkrétnej hodnote reťazca a reťazec bude nahradený iným reťazcom, ak sa nájde nejaká zhoda. Python používa 'znovu' modul na použitie vzoru regulárneho výrazu v skripte na vyhľadávanie alebo porovnávanie alebo nahradenie. Používanie vzorov regulárneho výrazu na nahradenie reťazca je o niečo pomalšie ako pri bežnej metóde replace (), ale veľa komplikovaných vyhľadávaní a nahradení je možné vykonať jednoducho pomocou vzoru. Reťazec môžete nahradiť rôznymi spôsobmi pomocou vzoru v Pythone. V tejto príručke sú uvedené niektoré bežné spôsoby použitia vzoru na nahradenie reťazca. Spyder3 Na napísanie a spustenie skriptu sa tu používa editor.

Zoznam metaznakov:

Pred použitím vzoru na nahradenie reťazca musíte poznať spôsob, ako napísať vzor regulárneho výrazu. Ako vzor pre presnú zhodu môžete použiť ľubovoľnú hodnotu reťazca. Pre konkrétne vyhľadávanie však musíte napísať vzor regulárneho výrazu pomocou metaznakov. Zoznam najpoužívanejších metaznakov na písanie vzorov je uvedený nižšie s významom.

    Postava  Popis
    .  Používa sa na priradenie ľubovoľného jedného znaku okrem nového riadku.
    ^  Používa sa na priradenie ľubovoľného znaku alebo reťazca na začiatku súboru

struna.

    $  Používa sa na priradenie ľubovoľného znaku alebo reťazca na konci reťazca.
    +  Používa sa na priradenie jedného alebo viacerých výskytov vzoru.
    ?  Používa sa na priradenie nuly alebo jedného výskytu vzoru.
   ()  Používa sa na zoskupovanie vzorov.
   Používa sa na porovnávanie na základe dolnej alebo hornej alebo oboch dolných a horných

limity.

   []  Používa sa na párovanie znakov na základe daného rozsahu.
   |  Používa sa na porovnávanie vzorov na základe logiky ALEBO.
   \  Používa sa na definovanie konkrétnych znakov alebo iných znakov alebo číslic alebo

iné číslice.

Nahradiť metódu:

sub () metóda 'znovu' modul sa používa v Pythone na výmenu reťazca.

Syntax:

sub (vzor, ​​vymeniť, reťazec, počet = 0, príznaky = 0)

Tu vzor, vymeniť a struna sú povinné argumenty. Ak vzor je v zhode s akoukoľvek časťou struna potom nahradí časť hodnotou výmena argument. Ďalšie dva argumenty sú voliteľné. Niektoré použitia vyššie uvedených metaznakov s metódou sub () sú uvedené v nasledujúcich príkladoch výmeny reťazcov.

Príklad 1: Reťazec nahraďte presnou zhodou

Ak viete presnú hodnotu reťazca, ktorú chcete vyhľadať v hlavnom reťazci, môžete použiť hodnotu hľadaného reťazca ako vzor v sub () metóda. Vytvorte súbor python s nasledujúcim skriptom. Hodnota hľadaného reťazca je tu „daždivá“ a hodnota nahradzujúceho reťazca je „slnečná“.

#!/ usr / bin / env python3
# Importovať regulárny výraz
import re
# Definujte reťazec
orgStr = "Je daždivý deň"
# Vymeňte reťazec
repStr = re.sub ("daždivé", "slnečné", orgStr)
# Vytlačte pôvodný reťazec
print ("Originálny text:", orgStr)
# Vytlačte nahradený reťazec
print ("Nahradený text:", repStr)

Výkon:

Výstup je zobrazený na pravej strane obrázka.

Príklad 2: Na začiatku vyhľadajte a vymeňte reťazec

Vytvorte súbor python s nasledujúcim skriptom, aby ste vedeli, ako sa používa „^“ vo vzorci regulárneho výrazu. Tu, '^ [A-Za-z] + ' sa používa ako vyhľadávací vzor. Bude prehľadávať všetky abecedné znaky od A do Z a a do z na začiatku textu a nahraďte ho prázdnou hodnotou. Nahradený reťazec sa vytlačí veľkými písmenami pre horný () metóda.

#!/ usr / bin / env python3
# Importovať regulárny výraz
import re
# Zadajte reťazec
originalText = input ("Zadajte text \ n")
# Vymeňte reťazec podľa vzoru
replaceText = re.sub ('^ [A-Za-z] +', ", originalText).horný ()
# Vytlačte nahradený reťazec
print ("Nahradeny text:", nahradenyText)

Výkon:

Výstup je zobrazený na pravej strane obrázka. Tu, „Dobrý deň, vitajte na linuxhint“ sa berie ako vstup a 'Ahoj' slovo sa nahrádza pre vzor.

Príklad 3: Na konci vyhľadajte a vymeňte reťazec

Vytvorte súbor python s nasledujúcim skriptom, aby ste vedeli, ako sa používa '$ ' symbol vo vzore regulárneho výrazu. Tu, '[a-z0-9] + $'sa používa ako vzor v skripte. Bude prehľadávať všetky malé abecedy a číslice na konci textu a ak vráti hodnotu true, zodpovedajúca časť bude nahradená reťazcom, 'com.bd„.

#!/ usr / bin / env python3
# Importovať regulárny výraz
import re
# Zadajte reťazec
originalText = vstup ("Zadajte adresu URL \ n")
# Vymeňte reťazec podľa vzoru
replaceText = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Vytlačte nahradený reťazec
print ("Nahradeny text:", nahradenyText)

Výkon:

Výstup je zobrazený na pravej strane obrázka. Tu „https: // www.google.com 'je braný ako vstupný text a po nahradení,' https: // www.google.com.bd 'sa vytlačí ako výstup.

Príklad-4: Vyhľadajte a nahraďte konkrétnu časť reťazca

Vytvorte súbor python s nasledujúcim skriptom, aby ste vyhľadali a nahradili časť textu v mieste, kde sa vzor zhoduje. Tu je zoznam e-mailových adries priradený ako text k premennej s názvom e-maily. '@ [a-z]' sa používa vzor na vyhľadávanie. Bude prehľadávať všetky podreťazce začínajúce malými abecedami, za ktorými nasleduje „@symbol „. Ak sa niektorý podreťazec zhoduje, nahradí tento podreťazec znakom „@linuxhint„.

#!/ usr / bin / env python3
# Importovať regulárny výraz
import re
# Definujte reťazec
emails = '\ n [chránený e-mailom] \ n [chránený e-mailom] \ n [chránený e-mailom]'
# Nahraďte konkrétnu časť reťazca podľa vzoru
replaceText = re.sub ('@ [a-z] *', '@linuxhint', e-maily)
# Vytlačte pôvodný reťazec
tlač („Originálny text:“, e-maily)
# Vytlačte nahradený reťazec
print ("\ nNahradený text:", nahradený text)

Výkon:

Výstup je zobrazený na pravej strane obrázka. Tu je každá doménová časť e-mailovej adresy priradená v texte nahradená textom „linuxhint„.

Záver:

Niektoré veľmi bežné použitia vzorov regulárnych výrazov sú uvedené v tomto výučbe na výmenu reťazcov. V pythone existuje veľa ďalších možností na napísanie rôznych typov jednoduchých a komplikovaných vzorov na vyhľadávanie a nahradenie reťazca textu.

Pozrieť video autora: tu

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...