Python

Utskifting av Python-streng ved hjelp av mønster

Utskifting av Python-streng ved hjelp av mønster
Alle strengdata kan erstattes med en annen streng i Python ved hjelp av erstatte () metode. Men hvis du vil erstatte en hvilken som helst del av strengen ved å matche et bestemt mønster, må du bruke et vanlig uttrykk. Den brukes til å søke i et bestemt mønster i en bestemt strengverdi, og strengen vil bli erstattet med en annen streng hvis noen samsvar ble funnet. Python bruker 're' modul for å bruke regulært uttrykksmønster i skriptet for å søke eller matche eller erstatte. Å bruke vanlige uttrykksmønstre for erstatning av strenger er litt tregere enn vanlig erstatningsmetode, men mange kompliserte søk og erstatning kan gjøres enkelt ved å bruke mønsteret. Du kan erstatte en streng på forskjellige måter ved å bruke mønsteret i Python. Noen vanlige bruksområder for mønster for å erstatte streng vises i denne veiledningen. Spyder3 editor brukes her til å skrive og kjøre skriptet.

Liste over metategn:

Før du bruker mønsteret til å erstatte streng, må du vite hvordan du skriver et mønster med vanlig uttrykk. Du kan bruke hvilken som helst strengverdi som et mønster for nøyaktig samsvar. Men for det spesifikke søket, må du skrive mønsteret for vanlig uttrykk ved å bruke metategn. Listen over de mest brukte metategnene for å skrive mønstre er gitt nedenfor med betydning.

    Karakter  Beskrivelse
    .  Den brukes til å matche et enkelt tegn bortsett fra en ny linje.
    ^  Den brukes til å matche et hvilket som helst tegn eller streng i begynnelsen av

streng.

    $  Den brukes til å matche hvilket som helst tegn eller streng på slutten av strengen.
    +  Den brukes til å matche en eller flere forekomster av mønsteret.
    ?  Den brukes til å matche null eller en forekomst av mønsteret.
   ()  Den brukes til gruppering av mønstre.
   Den brukes til å matche basert på nedre eller øvre eller både nedre og øvre

grenser.

   []  Den brukes til å matche tegn basert på det gitte området.
   |  Den brukes til å matche mønstre basert på ELLER logikk.
   \  Den brukes til å definere bestemte tegn eller ikke-tegn eller sifre eller

ikke-sifre.

Erstatt metode:

under() Metode av 're' modulen brukes i Python for strengerstatning.

Syntaks:

sub (mønster, erstatt, streng, count = 0, flags = 0)

Her mønster, erstatte og streng er obligatoriske argumenter. Hvis den mønster samsvarer med hvilken som helst del av streng da vil den erstatte delen med verdien av erstatte argument. De to andre argumentene er valgfrie. Noen bruksområder av de ovennevnte metategnene med sub () -metoden er vist i de følgende eksemplene på strengerstatning.

Eksempel 1: Erstatt streng etter eksakt samsvar

Hvis du vet nøyaktig strengverdien du vil søke i hovedstrengen, kan du bruke søkestrengverdien som et mønster i under() metode. Opprett en python-fil med følgende skript. Her er den søkende strengverdien 'regnfull' og den erstattende strengverdien er 'solrik'.

#!/ usr / bin / env python3
# Importer regex-modul
importer re
# Definer en streng
orgStr = "Det er en regnværsdag"
# Bytt ut strengen
repStr = re.sub ("rainy", "sunny", orgStr)
# Skriv ut den originale strengen
print ("Original Text:", orgStr)
# Skriv ut den erstattede strengen
print ("Erstatt tekst:", repStr)

Produksjon:

Utgangen vises på høyre side av bildet.

Eksempel 2: Søk og erstatt streng i begynnelsen

Lag en python-fil med følgende skript for å vite bruken av '^' i det vanlige uttrykksmønsteret. Her, '^ [A-Za-z] + ' brukes som søkemønster. Det vil søke i alle alfabetiske tegn fra EN til Z og en til z i begynnelsen av teksten og erstatt den med en tom verdi. Den erstattede strengen skrives ut med store bokstaver for øverste() metode.

#!/ usr / bin / env python3
# Importer regex-modul
importer re
# Ta en strenginngang
originalText = input ("Skriv inn en tekst \ n")
# Bytt ut strengen basert på mønsteret
erstattet tekst = re.sub ('^ [A-Za-z] +', ", originalText).øverste()
# Skriv ut den erstattede strengen
print ("Erstatt tekst:", erstattet tekst)

Produksjon:

Utgangen vises på høyre side av bildet. Her, 'Hei, velkommen til linuxhint' blir tatt som input og 'Hallo' word erstattes av " for mønsteret.

Eksempel 3: Søk og erstatt streng på slutten

Lag en python-fil med følgende skript for å vite bruken av '$ ' symbol i mønster for vanlig uttrykk. Her, '[a-z0-9] + $'brukes som et mønster i skriptet. Den vil søke i alle små alfabeter og sifre på slutten av teksten, og hvis den returnerer sant, blir den matchende delen erstattet av strengen, 'com.bd'.

#!/ usr / bin / env python3
# Importer regex-modul
importer re
# Ta en strenginngang
originalText = input ("Skriv inn en url-adresse \ n")
# Bytt ut strengen basert på mønsteret
erstattet tekst = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Skriv ut den erstattede strengen
print ("Erstatt tekst:", erstattet tekst)

Produksjon:

Utgangen vises på høyre side av bildet. Her, 'https: // www.Google.com 'blir tatt som inngangstekst og etter erstattet,' https: // www.Google.com.bd 'skrives ut som utdata.

Eksempel 4: Søk og erstatt den spesifikke delen av en streng

Opprett en python-fil med følgende skript for å søke og erstatte den delen av teksten på stedet der mønsteret samsvarer. Her tildeles en liste over e-postadresser som tekst til variabelen som heter e-post. '@ [a-z]' brukes til å søke. Den vil søke i hvilken som helst understreng starter med små alfabeter etterfulgt av '@'symbol. Hvis noen understrenger stemmer overens, vil den erstatte den understrengen med '@linuxhint'.

#!/ usr / bin / env python3
# Importer regex-modul
importer re
# Definer en streng
emails = '\ n [email protected] \ n [email protected] \ n [email protected]'
# Erstatt den spesifikke delen av strengen basert på mønster
erstattet tekst = re.sub ('@ [a-z] *', '@linuxhint', e-post)
# Skriv ut den originale strengen
print ("Original Text:", emails)
# Skriv ut den erstattede strengen
print ("\ nUtskiftet tekst:", erstattet tekst)

Produksjon:

Utgangen vises på høyre side av bildet. Her erstattes alle domenedeler av e-postadressen som er tildelt i teksten med 'linuxhint'.

Konklusjon:

Noen veldig vanlige bruksområder for regulære uttrykksmønstre er vist i denne veiledningen for erstatning av streng. Det finnes mange andre alternativer i python for å skrive forskjellige typer enkle og kompliserte mønstre for å søke og erstatte tekststrengen.

Se forfatterens video: her

Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...