Python

Udskiftning af Python-streng ved hjælp af mønster

Udskiftning af Python-streng ved hjælp af mønster
Alle strengdata kan erstattes med en anden streng i Python ved hjælp af erstat () metode. Men hvis du vil erstatte en hvilken som helst del af strengen ved at matche et bestemt mønster, skal du bruge et regulært udtryk. Det bruges til at søge i et bestemt mønster i en bestemt strengværdi, og strengen erstattes med en anden streng, hvis der findes et match. Python bruger 're' modul til at bruge mønster med regulært udtryk i scriptet til at søge eller matche eller erstatte. Brug af regulære udtryksmønstre til udskiftning af strenge er en smule langsommere end normal erstatningsmetode (), men mange komplicerede søgninger og udskiftning kan gøres let ved hjælp af mønster. Du kan erstatte en streng på forskellige måder ved hjælp af mønsteret i Python. Nogle almindelige anvendelser af mønster til erstatning af streng vises i denne vejledning. Spyder3 editor bruges her til at skrive og køre scriptet.

Liste over metategn:

Før du bruger mønsteret til at erstatte streng, skal du vide, hvordan du skriver et mønster med almindeligt udtryk. Du kan bruge en hvilken som helst strengværdi som et mønster til det nøjagtige match. Men for den specifikke søgning skal du skrive mønsteret for regulært udtryk ved hjælp af metakarakter. Listen over de mest anvendte metategn til skrivemønstre er angivet nedenfor med betydning.

    Karakter  Beskrivelse
    .  Det bruges til at matche et enkelt tegn undtagen en ny linje.
    ^  Det bruges til at matche ethvert tegn eller streng i begyndelsen af

snor.

    $  Det bruges til at matche ethvert tegn eller streng i slutningen af ​​strengen.
    +  Det bruges til at matche en eller flere forekomster af mønsteret.
    ?  Det bruges til at matche nul eller en forekomst af mønsteret.
   ()  Det bruges til gruppering af mønstre.
   Det bruges til at matche baseret på nedre eller øvre eller både nedre og øvre

grænser.

   []  Det bruges til at matche tegn baseret på det givne interval.
   |  Det bruges til at matche mønstre baseret på ELLER logik.
   \  Det bruges til at definere bestemte tegn eller ikke-tegn eller cifre eller

ikke-cifre.

Udskift metode:

under () metode til 're' modul bruges i Python til udskiftning af streng.

Syntaks:

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

Her mønster, erstatte og snor er obligatoriske argumenter. Hvis den mønster matches med enhver del af snor så erstatter den delen med værdien af udskiftning af argument. De to andre argumenter er valgfri. Nogle anvendelser af de ovennævnte metategn med sub () -metoden er vist i de følgende eksempler på strengudskiftning.

Eksempel 1: Erstat streng med nøjagtig match

Hvis du kender den nøjagtige strengværdi, som du vil søge i hovedstrengen, kan du bruge søgestrengsværdien som et mønster i under () metode. Opret en python-fil med følgende script. Her er den søgende strengværdi 'regnfuld' og den udskiftende strengværdi er 'solrig'.

#!/ usr / bin / env python3
# Importér regex-modul
import gen
# Definer en streng
orgStr = "Det er en regnvejrsdag"
# Udskift strengen
repStr = re.sub ("regnfuld", "solrig", orgStr)
# Udskriv den originale streng
print ("Oprindelig tekst:", orgStr)
# Udskriv den udskiftede streng
print ("Erstattet tekst:", repStr)

Produktion:

Outputtet vises på højre side af billedet.

Eksempel 2: Søg og erstat streng i begyndelsen

Opret en python-fil med følgende script for at kende brugen af '^' i mønsteret med regulært udtryk. Her, '^ [A-Za-z] + ' bruges som søgemønster. Det vil søge i alle alfabetiske tegn fra EN til Z og -en til z i begyndelsen af ​​teksten og erstat den med en tom værdi. Den udskiftede streng udskrives med store bogstaver for øverst() metode.

#!/ usr / bin / env python3
# Importér regex-modul
import gen
# Tag en strenginput
originalText = input ("Indtast en tekst \ n")
# Udskift strengen baseret på mønsteret
erstattet tekst = ny.sub ('^ [A-Za-z] +', ", originalText).øverst()
# Udskriv den udskiftede streng
print ("Erstat tekst:", erstattet tekst)

Produktion:

Outputtet vises på højre side af billedet. Her, 'Hej, velkommen til linuxhint' tages som input og 'Hej' word erstattes af " til mønsteret.

Eksempel 3: Søg og erstat streng i slutningen

Opret en python-fil med følgende script for at kende brugen af ​​'$ ' symbol i mønster med regulært udtryk. Her, '[a-z0-9] + $'bruges som et mønster i scriptet. Det søger i alle små alfabeter og cifre i slutningen af ​​teksten, og hvis det returneres sandt, erstattes den matchende del af strengen, 'com.bd''.

#!/ usr / bin / env python3
# Importér regex-modul
import gen
# Tag en strenginput
originalText = input ("Indtast en url-adresse \ n")
# Udskift strengen baseret på mønsteret
erstattet tekst = ny.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Udskriv den udskiftede streng
print ("Erstat tekst:", erstattet tekst)

Produktion:

Outputtet vises i højre side af billedet. Her, 'https: // www.google.com 'tages som inputtekst og efter erstatning,' https: // www.google.com.bd 'udskrives som output.

Eksempel 4: Søg og erstat den specifikke del af en streng

Opret en pythonfil med følgende script for at søge og erstatte den del af teksten på det sted, hvor mønsteret matcher. Her tildeles en liste over e-mail-adresser som tekst til den navngivne variabel e-mails. '@ [a-z]' bruges som mønster til søgning. Det søger i en hvilken som helst understreng starter med små alfabeter efterfulgt af '@'symbol. Hvis nogen understreng matcher, vil den erstatte den understreng med '@linuxhint''.

#!/ usr / bin / env python3
# Importér regex-modul
import gen
# Definer en streng
emails = '\ n [email protected] \ n [email protected] \ n [email protected]'
# Udskift den specifikke del af strengen baseret på mønster
erstattet tekst = ny.sub ('@ [a-z] *', '@linuxhint', e-mails)
# Udskriv den originale streng
print ("Original tekst:", e-mails)
# Udskriv den udskiftede streng
print ("\ nUdskiftet tekst:", erstattet tekst)

Produktion:

Outputtet vises på højre side af billedet. Her erstattes hver domænedel af den e-mail-adresse, der er tildelt i teksten, med 'linuxhint''.

Konklusion:

Nogle meget almindelige anvendelser af de regulære udtryksmønstre vises i denne vejledning til udskiftning af streng. Der findes mange andre muligheder i python til at skrive forskellige typer enkle og komplicerede mønstre til søgning og udskiftning af tekststrengen.

Se forfatterens video: her

Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...
Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...