Python

Python-merkkijonon korvaaminen mallin avulla

Python-merkkijonon korvaaminen mallin avulla
Kaikki merkkijonotiedot voidaan korvata toisella merkkijonolla Pythonissa käyttämällä korvaa () menetelmä. Mutta jos haluat korvata jonon jonon osan vastaamalla tiettyä mallia, sinun on käytettävä säännöllistä lauseketta. Sitä käytetään etsimään tiettyä mallia tietystä merkkijonon arvosta, ja merkkijono korvataan toisella merkkijonolla, jos vastaavuuksia löytyy. Python käyttää "uudelleen" moduuli käyttää säännöllisen lausekkeen mallia komentosarjassa etsimiseen, sovittamiseen tai korvaamiseen. Säännöllisten lausekkeiden käyttäminen merkkijonon korvaamiseen on hieman hitaampaa kuin tavallinen korvaus () -menetelmä, mutta monet monimutkaiset haut ja korvaaminen voidaan tehdä helposti mallin avulla. Voit korvata merkkijonon monin tavoin käyttämällä Pythonin mallia. Joitakin yleisiä mallin käyttötapoja merkkijonon korvaamiseksi esitetään tässä opetusohjelmassa. Spyder 3 editoria käytetään tässä komentosarjan kirjoittamiseen ja suorittamiseen.

Luettelo metahahmoista:

Ennen kuin käytät mallia merkkijonon korvaamiseksi, sinun on tiedettävä tapa kirjoittaa säännöllinen lausekekuvio. Voit käyttää mitä tahansa merkkijonoa tarkan haun mallina. Mutta tiettyä hakua varten sinun on kirjoitettava säännöllinen lausekekuvio käyttämällä metahakua. Alla on luettelo kaavojen kirjoittamiseen yleisimmin käytetyistä metamerkistä merkityksellä.

    Merkki  Kuvaus
    .  Sitä käytetään vastaamaan mitä tahansa yksittäistä merkkiä paitsi uusi rivi.
    ^  Sitä käytetään vastaamaan mitä tahansa merkkiä tai merkkijonoa alussa

merkkijono.

    $  Sitä käytetään vastaamaan mitä tahansa merkkiä tai merkkijonoa merkkijonon lopussa.
    +  Sitä käytetään yhden tai useamman kuvion esiintymän sovittamiseen.
    ?  Sitä käytetään vastaamaan kuvion nollaa tai yhtä esiintymää.
   ()  Sitä käytetään kuvioiden ryhmittelyyn.
   Sitä käytetään vastaamaan alempaa tai ylempää tai sekä ala- että yläosaa

rajoja.

   []  Sitä käytetään merkkien sovittamiseen annetun alueen perusteella.
   |  Sitä käytetään vastaamaan malleja OR-logiikan perusteella.
   \  Sitä käytetään määrittelemään tietyt merkit tai ei-merkit tai numerot tai

ei-numerot.

Korvaa menetelmä:

sub() menetelmä "uudelleen" moduulia käytetään Pythonissa merkkijonon korvaamiseen.

Syntaksi:

osa (kuvio, korvaa, merkkijono, määrä = 0, liput = 0)

Tässä kuvio, korvata ja merkkijono ovat pakollisia perusteluja. Jos kuvio on sovitettu minkä tahansa osan merkkijono silloin se korvaa osan arvolla korvaa Perustelu. Kaksi muuta argumenttia ovat valinnaisia. Joitakin edellä mainittujen sub () -menetelmän sisältämien metamerkkien käyttötapoja on esitetty seuraavissa merkkijonon korvausesimerkeissä.

Esimerkki 1: Korvaa merkkijono tarkalla vastaavuudella

Jos tiedät tarkan merkkijonon arvon, jonka haluat etsiä päämerkkijonosta, voit käyttää hakumerkkijonon arvoa mallina sub() menetelmä. Luo python-tiedosto seuraavalla komentosarjalla. Tässä etsivä merkkijonon arvo on 'sateinen' ja korvaavan merkkijonon arvo 'aurinkoinen'.

#!/ usr / bin / env python3
# Tuo regex-moduuli
tuoda uudelleen
# Määritä merkkijono
orgStr = "On sateinen päivä"
# Vaihda merkkijono
repStr = re.sub ("sateinen", "aurinkoinen", orgStr)
# Tulosta alkuperäinen merkkijono
tulosta ("Alkuperäinen teksti:", orgStr)
# Tulosta korvattu merkkijono
tulosta ("Korvattu teksti:", repStr)

Tuotos:

Lähtö näkyy kuvan oikealla puolella.

Esimerkki 2: Etsi ja korvaa merkkijono alussa

Luo python-tiedosto seuraavalla komentosarjalla tietääksesi sen käytön '^' säännöllisen lausekkeen kuviossa. Täällä,^ [A-Za-z] + ' käytetään hakukuviona. Se etsii kaikki aakkoselliset merkit A että Z ja a että z tekstin alussa ja korvaa se tyhjällä arvolla. Korvattu merkkijono tulostetaan isoilla kirjaimilla ylempi () menetelmä.

#!/ usr / bin / env python3
# Tuo regex-moduuli
tuoda uudelleen
# Ota merkkijono
originalText = input ("Kirjoita teksti \ n")
# Vaihda merkkijono mallin perusteella
aizstattuTeksti = uudelleen.sub ('^ [A-Za-z] +', ", originalText).ylempi ()
# Tulosta korvattu merkkijono
tulosta ("Korvattu teksti:", aizstattuTeksti)

Tuotos:

Lähtö näkyy kuvan oikealla puolella. Tässä, "Hei, tervetuloa linuxhintiin" otetaan syötteeksi ja 'Hei' sana korvataan sanalla " mallille.

Esimerkki 3: Etsi ja korvaa merkkijono lopussa

Luo python-tiedosto seuraavalla komentosarjalla tietääksesi '$ ' symboli säännöllisen lausekkeen kuviossa. Tässä,a-z0-9] + $'käytetään komentosarjan mallina. Se etsii kaikki pienet aakkoset ja numerot tekstin lopussa ja jos palauttaa arvon tosi, vastaava osa korvataan merkkijonolla. 'com.bd'.

#!/ usr / bin / env python3
# Tuo regex-moduuli
tuoda uudelleen
# Ota merkkijono
originalText = input ("Kirjoita URL-osoite \ n")
# Vaihda merkkijono mallin perusteella
aizstattuTeksti = uudelleen.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Tulosta korvattu merkkijono
tulosta ("Korvattu teksti:", aizstattuTeksti)

Tuotos:

Lähtö näkyy kuvan oikealla puolella. Täällä, https: // www.Google.com 'otetaan syöttötekstiksi ja korvataan' https: // www.Google.com.bd 'tulostetaan tulosteena.

Esimerkki 4: Etsi ja korvaa merkkijonon tietty osa

Luo python-tiedosto seuraavalla komentosarjalla etsimään ja korvaamaan tekstin osa kuvion vastaavassa paikassa. Tässä sähköpostiosoitteiden luettelo määritetään tekstiksi muuttujaan nimeltä sähköpostit. '@ [a-z]' käytetään mallina hakuun. Se etsii kaikki alamerkkijonot, jotka alkavat pienillä aakkosilla ja sen jälkeen@symboli. Jos jokin alimerkkijono vastaa, se korvaa kyseisen merkkijonon@linuxhint'.

#!/ usr / bin / env python3
# Tuo regex-moduuli
tuoda uudelleen
# Määritä merkkijono
emails = '\ n [email protected] \ n [email protected] \ n [email protected]'
# Korvaa merkkijonon tietty osa mallin perusteella
aizstattuTeksti = uudelleen.sub ('@ [a-z] *', '@linuxhint', sähköpostit)
# Tulosta alkuperäinen merkkijono
tulosta ("Alkuperäinen teksti:", sähköpostit)
# Tulosta korvattu merkkijono
tulosta ("\ nKorvattu teksti:", aizstattuTeksti)

Tuotos:

Lähtö näkyy kuvan oikealla puolella. Tässä tekstissä määritetyn sähköpostiosoitteen kaikki verkkotunnusosat korvataan sanoillalinuxhint'.

Päätelmä:

Joitakin tavallisten lausekemallien hyvin yleisiä käyttötapoja on esitetty tässä opetusohjelmassa merkkijonon korvaamiseksi. Pythonissa on monia muita vaihtoehtoja erityyppisten yksinkertaisten ja monimutkaisten kuvioiden kirjoittamiseen tekstimerkkijonon etsimiseksi ja korvaamiseksi.

Katso tekijän video: täällä

Asenna uusin OpenRA-strategiapeli Ubuntu Linuxiin
OpenRA on ilmainen / ilmainen reaaliaikainen strategiapelimoottori, joka luo uudet Westwood-pelit, kuten klassinen Command & Conquer: Red Alert. Hajau...
Asenna uusin Dolphin Emulator for Gamecube & Wii Linuxiin
Dolphin-emulaattorin avulla voit pelata valitsemiasi Gamecube & Wii -pelejä Linux-henkilökohtaisilla tietokoneilla (PC). Koska Dolphin Emulator on va...
Kuinka käyttää GameConqueror-huijausmoottoria Linuxissa
Artikkelissa on opas GameConqueror-huijausmoottorin käytöstä Linuxissa. Monet Windows-pelejä pelaavat käyttäjät käyttävät "Cheat Engine" -sovellusta m...