Python re subn

Python re subn
“Ved å bruke en bestemt grammatikk som er lagret i et mønster, ser et vanlig uttrykk ut til å være en spesiell serie karakterer som vanligvis hjelper til med å matche eller lokalisere andre sekvenser eller grupperinger av strenger. Unix -samfunnet bruker vanlige mønstre mye. Pythons vanlige uttrykkspakke er kjent som "RE" -modulen (RE). Den utpeker en gruppe strenger eller sekvenser som tilsvarer den. RE -konseptet blir forklart ved bruk av metakaraktører.

I tillegg til å returnere den ferske strengen og antall substitusjoner, er subn () -funksjonen sammenlignbar med SUB (). Innenfor denne guiden i dag, vil vi se på bruken av RE -modulen sammen med dens subn () -funksjon i Python for å erstatte enkelt eller flere tegn på et strengmønster med nye tegn.”

Eksempel 01

La oss komme i gang med det første eksemplet på Python ved å bruke "RE" -modulen i den sammen med sin subn () -funksjon. Så vi har startet koden vår med importen av "RE" -modulen på den første linjen. Etter det har vi initialisert en strengvariabel “STR” med en lang tekst på noen ord i den. Utskriftserklæringen er blitt brukt her for å vise strengverdien til "STR" -variabelen.

Etter dette har vi kalt Subn () -funksjonen til “RE” -modulen for å erstatte tegnet “A” fra strengen ved å bruke den andre parameterverdien “A” med den første parametriske karakterverdien “E” i en streng “STR ”Og lagre resultatet i en ny variabel R1. Subn () -funksjonen er blitt brukt igjen for å erstatte tegnene “A” og “I” med karakteren “E” og lagre resultatet i en nyopprettet variabel “R2”.

Utskriftsuttalelsene brukes separat for å vise den oppdaterte verdien av strengene R1 og R2 på konsollskjermen til Spyder 3.

Import re
STR = "Naturen er en helbredende behandling ..."
trykk (str)
R1 = re.subn ('a', 'e', ​​str)
R2 = re.subn ('[a, i]', 'e', ​​str)
Print (R1)
Print (R2)

Etter å ha lagret ovennevnte kode i Spyder 3-verktøyet, utførte vi den raskt og fikk det vistede resultatet. Den originale strengen er vist i den første linjen i konsollen uten noen endring, mens de to neste linjene viser 2 oppdaterte strenglinjer ved å bruke “Subn ()” -funksjonen til “RE” -modulen i Python. Alle tegnene “A” i en streng er erstattet med karakteren “E” i 2nd Oppdatert utstedt streng, mens den siste oppdaterte strengen har vist erstatningen av tegn “A” og “I” begge med karakteren “E”.

Sammen med det viser utgangen for oppdaterte R1- og R2 -strenger det totale antallet tegn erstattet av det nye tegnet. Selv om vi har brukt "jeg" -tegnet for å bli erstattet av "E", kan det bare ikke skje fordi vi ikke har noe overhylser "jeg" i strengen.

Eksempel 02

Eksemplet ovenfor handlet om bruk av subn () -funksjonen for å erstatte ett eller flere tegn med et enkelt tegn som begrenser saken om et tegn som skal endres. Innenfor dette eksemplet vil vi erstatte et tegn uavhengig av saken med en annen karakter via subn () -funksjonen.

For dette vil vi bruke "Flags" -parameteren i funksjonssamtalen. Så vi har startet denne koden med samme import av "RE" -modulen og kalt Subn () -funksjonen til denne modulen på neste linje for å erstatte tegnet "E" med spesialpersonen "*" i den gitte strengen og viste den oppdaterte strengen via utskriftserklæringen. Den tredje linjen med Python -kode har demonstrert bruken av den samme subn () -funksjonen for å erstatte karakteren “n” med karakter “*” i den spesifiserte strengteksten sammen med parameterflaggene som spesifiserer verdien “re.Ignorecase ”for å ignorere saken om et strengkarakter“ n ”for erstatning.

Resultatet er lagret i variabel “V” og vist på skallet ved hjelp av utskriftserklæringen. Innenfor den andre og tredje linjen inneholder begge strengene minst ett store bokstavord i det, i.e., N og e. La oss bare lagre dette Python -skriptet i Spyder 3 -filen og utføre det i samme verktøy.

Import re
trykk (re.Subn ('E', '*', 'Naturen er en helbredende behandling'))
v = re.subn ('n', '*', 'noe er bedre enn ingenting', flagg = re.Ignorecase)
trykk (V)

Utgangen har vist totalt to resultater på skjermen vår. Det første resultatet har vist utskifting av det små case -tegnet “E” fra strengen uten å erstatte kapitalen “E” -tegn i den aktuelle strengen. Etter det er den andre oppdaterte strengutgangen blitt vist etter utskiftning av alle “N” -tegn uavhengig av tilfellene deres, i.e., Alle "N" -tegn i øvre og små og små bokstaver blir ikke erstattet som vist. Sammen med det vises også et totalt antall tegn erstattet av subn () -funksjonen.

Eksempel 03

La oss ha vårt siste eksempel på Python til å bruke subn () -funksjonen til "RE" -modulen i Spyder 3. Vi har importert "RE" -modulen og opprettet en ny strengvariabel med navnet "Num" og initialisert den med noen blandede tegn og tall. Deretter har en annen variabel "mønster" blitt initialisert med "\ d" -streng, i.e., Brukes til å fjerne spesialtegn fra en streng “(090) -078-601”. Sub () -funksjonen til "RE" -modulen er blitt brukt her for å fjerne de spesielle mønstrene fra "Num" -strengen og erstatte dem med ingenting, i.e., Bare slett dem fra strengen.

Resultatet vil bli lagret i variabelen “R”, og utskriftsuttalelsen vil vise resultatet på slutten. Vi har lagret denne Python -koden og utført den i Spyder 3 -verktøyet i Windows 10 for å se utdataene.

Import re
num = '(090) -078-601'
mønster = '\ d'
r = re.Sub (mønster, ", num)
trykk (r)

Utgangen har vist numstrengen uten spesialtegn.

Konklusjon

Denne artikkelen handler om bruk av enkle subn () og sub () -funksjoner fra Pythons “RE” -modul for å erstatte eller fjerne noen tegn fra den gitte strengen. Vi har diskutert enkle eksempler for å erstatte tegnene med og uten begrensningen i øvre og små bokstaver, sammen med visningen av det totale antallet tegn erstattet av Subn () -metoden.