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ä