Piton

Python karakterlánc-csere mintával

Python karakterlánc-csere mintával
Bármilyen karakterláncadat a következő használatával helyettesíthető egy másik karakterlánccal a Pythonban a csere () módszer. De ha a karakterlánc bármely részét ki akarja cserélni egy adott minta megfeleltetésével, akkor használnia kell egy reguláris kifejezést. Egy adott karakterlánc-értékben egy adott minta keresésére szolgál, és ha a találat egyezik, akkor a karakterlánc egy másik karakterlánccal lesz kicserélve. A Python használja 'újra' modul a szabályos kifejezés mintájának használatához a szkriptben keresésre, illesztésre vagy cserére. A rendszeres kifejezésminták használata a karakterláncok cseréjéhez kissé lassabb, mint a normál Replace () metódus, de sok bonyolult keresést és cserét könnyen el lehet végezni a minta használatával. A karakterláncot különböző módon cserélheti le a Python mintázatával. A mintában a karaktersorozat néhány gyakori felhasználása látható ebben az oktatóanyagban. Spyder3 szerkesztő itt használható a szkript írásához és futtatásához.

Metakarakterek listája:

Mielőtt felhasználná a mintát a karakterlánc helyettesítésére, ismernie kell a szabályos kifejezésminta megírásának módját. Bármely karakterláncot használhat mintaként a pontos egyezéshez. De a konkrét kereséshez meg kell írnia a reguláris kifejezés mintáját metakarakter használatával. Az alábbiakban a minták írásához leggyakrabban használt metakarakterek listáját adjuk meg.

    karakter  Leírás
    .  Bármelyik karakter egyeztetésére szolgál, kivéve az új sort.
    ^  Bármely karakterhez vagy karaktersorozathoz illeszthető az elején

húr.

    $  Bármely karakter vagy karakterlánc illesztésére szolgál a karakterlánc végén.
    +  A minta egy vagy több előfordulásának egyeztetésére szolgál.
    ?  A minta nulla vagy egy előfordulásának megfeleltetésére szolgál.
   ()  A minták csoportosítására szolgál.
   Alsó vagy felső, vagy mind az alsó, mind a felső alapján egyeztetésre szolgál

korlátokat.

   []  A karakterek egyeztetésére szolgál az adott tartomány alapján.
   |  VAGY logikán alapuló minták egyeztetésére szolgál.
   \  Meghatározott karakterek vagy nem karakterek, vagy számjegyek vagy

nem számjegyű.

Módszer cseréje:

alatti() a metódusa 'újra' modult a Python használja a karakterlánc cseréjére.

Szintaxis:

al (minta, csere, karakterlánc, szám = 0, zászlók = 0)

Itt minta, cserélje ki és húr kötelező érvek. Ha a minta bármelyik részéhez illeszkedik húr akkor az alkatrészt az értékével helyettesíti helyett érv. A másik két érv nem kötelező. A fent említett metakarakterek használatát a sub () módszerrel a következő karaktersorozati példák mutatják be.

1. példa: A karakterlánc cseréje pontos egyezéssel

Ha ismeri a pontos karakterlánc értékét, amelyet a fő karakterláncban keresni szeretne, akkor a kereső karakterláncot mintaként használhatja alatti() módszer. Hozzon létre egy python fájlt a következő szkript segítségével. Itt a kereső karakterlánc értéke "esős", a helyettesítő karakterlánc értéke "napos".

#!/ usr / bin / env python3
# Regex modul importálása
import re
# Definiáljon egy karakterláncot
orgStr = "Esős nap van"
# Cserélje ki a karakterláncot
repStr = re.sub ("esős", "napos", orgStr)
# Nyomtassa ki az eredeti karakterláncot
nyomtatás ("Eredeti szöveg:", orgStr)
# Nyomtassa ki a kicserélt karakterláncot
nyomtatás ("Cserélt szöveg:", repStr)

Kimenet:

A kimenet a kép jobb oldalán látható.

2. példa: A karakterlánc keresése és cseréje az elején

Hozzon létre egy python fájlt a következő szkript használatával, hogy ismerje a használatát '^' a reguláris kifejezés mintázatában. Itt, '^ [A-Za-z] + ' keresési mintaként használatos. Meg fogja keresni az összes ábécés karaktert A nak nek Z és a nak nek z a szöveg elején, és cserélje ki egy üres értékre. A kicserélt karakterlánc nagybetűvel lesz nyomtatva felső() módszer.

#!/ usr / bin / env python3
# Regex modul importálása
import re
# Vegyünk egy karakterláncot
originalText = input ("Írjon be egy szöveget \ n")
# Cserélje ki a karakterláncot a minta alapján
helyettesítettText = re.sub ('^ [A-Za-z] +', ", originalText).felső()
# Nyomtassa ki a kicserélt karakterláncot
print ("Cserélt szöveg:", helyettesített szöveg)

Kimenet:

A kimenet a kép jobb oldalán látható. Itt, "Helló, üdvözlöm a linuxhint-ben" bemenetnek tekintjük 'Helló' szó helyébe a " a mintához.

3. példa: A karakterlánc keresése és cseréje a végén

Hozzon létre egy python fájlt a következő szkript használatával, hogy ismerje a '$ ' szimbólum a reguláris kifejezés mintájára. Itt, '[a-z0-9] + $'a mintaként használatos a szkriptben. Megkeresi az összes kis ábécét és számjegyet a szöveg végén, és ha igaz értéket ad vissza, akkor a megfelelő részt a karakterlánc helyettesíti. 'com.bd".

#!/ usr / bin / env python3
# Regex modul importálása
import re
# Vegyünk egy karakterláncot
originalText = input ("Adjon meg egy URL címet \ n")
# Cserélje ki a karakterláncot a minta alapján
helyettesítettText = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Nyomtassa ki a kicserélt karakterláncot
print ("Cserélt szöveg:", helyettesített szöveg)

Kimenet:

A kimenet a kép jobb oldalán látható. Itt: 'https: // www.Google.com 'szöveget beviteli szövegnek, a helyettesítés után pedig' https: // www.Google.com.A bd 'kimenetként van nyomtatva.

4. példa: Keresse meg és cserélje le a karakterlánc adott részét

Hozzon létre egy python fájlt a következő szkript segítségével a szöveg azon részének kereséséhez és helyettesítéséhez, ahol a minta egyezik. Itt az e-mail címek listája szövegként van hozzárendelve a nevezett változóhoz e-maileket. A '@ [a-z]' mintát használjuk a kereséshez. Megkeresi az összes al-karakterláncot, amelyek kis betűkkel kezdődnek@' szimbólum. Ha valamelyik al-karakterlánc egyezik, akkor az helyettesíti a@linuxhint".

#!/ usr / bin / env python3
# Regex modul importálása
import re
# Definiáljon egy karakterláncot
emails = '\ n [email protected] \ n [email protected] \ n [email protected]'
# Cserélje ki a karakterlánc adott részét a minta alapján
helyettesítettText = re.sub ('@ [a-z] *', '@linuxhint', e-mailek)
# Nyomtassa ki az eredeti karakterláncot
nyomtatás ("Eredeti szöveg:", e-mailek)
# Nyomtassa ki a kicserélt karakterláncot
print ("\ nCserélt szöveg:", helyettesített szöveg)

Kimenet:

A kimenet a kép jobb oldalán látható. Itt a szövegben megadott e-mail cím minden tartományi része helyébe "linuxhint".

Következtetés:

A szabályos kifejezésminták néhány nagyon gyakori használatát mutatja be ez az oktatóanyag a karakterláncok cseréjéhez. Sok más lehetőség létezik a pythonban különböző típusú egyszerű és bonyolult minták írására a szöveg karaktersorozatának keresésére és cseréjére.

Nézd meg a szerző videóját: itt

OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...
OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...