Pitone

Sostituzione delle stringhe Python usando Pattern

Sostituzione delle stringhe Python usando Pattern
Qualsiasi dato stringa può essere sostituito con un'altra stringa in Python usando by la sostituzione() metodo. Ma se vuoi sostituire qualsiasi parte della stringa facendo corrispondere un modello specifico, devi usare un'espressione regolare. Viene utilizzato per cercare un modello specifico in un particolare valore di stringa e la stringa verrà sostituita con un'altra stringa se viene trovata una corrispondenza. Python usa 'ri' modulo per utilizzare il modello di espressione regolare nello script per la ricerca, la corrispondenza o la sostituzione. L'uso di modelli di espressioni regolari per la sostituzione delle stringheèun po'piùlento del normale metodo replace() ma molte ricerche e sostituzioni complicate possono essere eseguite facilmente utilizzando il modello. Puoi sostituire una stringa in vari modi usando il pattern in Python. Alcuni usi comuni di pattern per sostituire la stringa sono mostrati in questo tutorial. Spyder3 editor è usato qui per scrivere ed eseguire lo script.

Elenco dei metacaratteri:

Prima di utilizzare il modello per sostituire la stringa, devi conoscere il modo di scrivere un modello di espressione regolare. Puoi usare qualsiasi valore di stringa come modello per la corrispondenza esatta. Ma per la ricerca specifica, devi scrivere il modello di espressione regolare usando il metacarattere. L'elenco dei metacaratteri più utilizzati per la scrittura di modelli è riportato di seguito con significato.

    Personaggio  Descrizione
    .  È usato per abbinare qualsiasi singolo carattere tranne una nuova riga.
    ^  È usato per abbinare qualsiasi carattere o stringa all'inizio del

corda.

    $  È usato per abbinare qualsiasi carattere o stringa alla fine della stringa.
    +  È usato per abbinare una o più occorrenze del modello.
    ?  È usato per abbinare zero o un'occorrenza del modello.
   ( )  È usato per raggruppare i modelli.
   Viene utilizzato per abbinare in base a inferiore o superiore o sia inferiore che superiore

limiti.

   [ ]  È usato per abbinare i caratteri in base all'intervallo dato.
   |  Viene utilizzato per abbinare modelli basati sulla logica OR.
   \  Viene utilizzato per definire caratteri specifici o non caratteri o cifre o

non cifre.

Metodo di sostituzione:

sub() metodo di 'ri' il modulo è usato in Python per la sostituzione delle stringhe.

Sintassi:

sub(schema, sostituzione, stringa, conteggio=0, flag=0)

Qui modello, sostituire e corda sono argomenti obbligatori. Se la modello è abbinato a qualsiasi parte del corda quindi sostituirà la parte con il valore di sostituendo il discussione. Gli altri due argomenti sono opzionali. Alcuni usi dei metacaratteri sopra menzionati con il metodo sub() sono mostrati nei seguenti esempi di sostituzione delle stringhe.

Esempio 1: sostituire la stringa con la corrispondenza esatta exact

Se conosci il valore esatto della stringa che vuoi cercare nella stringa principale, puoi usare il valore della stringa di ricerca come modello in sub() metodo. Crea un file Python con il seguente script. Qui, il valore della stringa di ricerca è "piovoso" e il valore della stringa sostitutiva è "soleggiato".

#!/usr/bin/env python3
# Importa modulo regex
importare re
# Definisci una stringa
orgStr = "È un giorno di pioggia"
# Sostituisci la stringa
repStr = re.sub("piovoso", "soleggiato", orgStr)
# Stampa la stringa originale
print("Testo originale:", orgStr)
# Stampa la stringa sostituita
print("Testo sostituito:", repStr)

Produzione:

L'output è mostrato sul lato destro dell'immagine.

Esempio-2: Cerca e sostituisci stringa all'inizio

Crea un file python con il seguente script per conoscerne l'uso '^' nel modello di espressione regolare. Qui, '^[A-Za-z]+' viene utilizzato come modello di ricerca. Cercherà tutti i caratteri alfabetici da UN per Z e un per z all'inizio del testo e sostituiscilo con un valore vuoto. La stringa sostituita verrà stampata in maiuscolo per superiore() metodo.

#!/usr/bin/env python3
# Importa modulo regex
importare re
# Prendi un input di stringa
originalText = input("Inserisci un testo\n")
# Sostituisci la stringa in base al modello
testo sostituito = re.sub('^[A-Za-z]+' , ", testooriginale).superiore()
# Stampa la stringa sostituita
print("Testo sostituito:", testo sostituito)

Produzione:

L'output è mostrato sul lato destro dell'immagine. Qui, 'Ciao, benvenuto in Linuxhint' viene preso come input e 'Ciao' la parola è sostituita da " per il modello.

Esempio 3: Cerca e sostituisci stringa alla fine

Crea un file python con il seguente script per conoscere l'uso di '$' simbolo nel modello di espressione regolare. Qui, '[a-z0-9]+$'è usato come pattern nello script. Cercherà tutti i piccoli alfabeti e le cifre alla fine del testo e se restituisce true, la parte corrispondente verrà sostituita dalla stringa, 'come.bd'.

#!/usr/bin/env python3
# Importa modulo regex
importare re
# Prendi un input di stringa
originalText = input("Inserisci un indirizzo URL\n")
# Sostituisci la stringa in base al modello
testo sostituito = re.sub('[a-z0-9]+$' , 'com.bd', testo originale)
# Stampa la stringa sostituita
print("Testo sostituito:", testo sostituito)

Produzione:

L'output è mostrato nella parte destra dell'immagine. Qui, 'https://www.Google.com' viene preso come testo di input e dopo la sostituzione, 'https://www.Google.come.bd' viene stampato come output.

Esempio-4: Cerca e sostituisci la parte specifica di una stringa

Crea un file python con il seguente script per cercare e sostituire la parte del testo nel punto in cui il modello corrisponde. Qui, un elenco di indirizzi e-mail viene assegnato come testo nella variabile denominata email. '@[a-z]' è il modello utilizzato per la ricerca. Cercherà qualsiasi sottostringa che inizi con piccoli alfabeti seguiti da '@'simbolo. Se una sottostringa corrisponde, sostituirà quella sottostringa con '@linuxhint'.

#!/usr/bin/env python3
# Importa modulo regex
importare re
# Definisci una stringa
emails = '\n[email protetta] \n[email protetta] \n[email protetta]'
# Sostituisci la parte specifica della stringa in base al modello
testo sostituito = re.sub('@[a-z]*', '@linuxhint', email)
# Stampa la stringa originale
print("Testo originale:", email)
# Stampa la stringa sostituita
print("\nTesto sostituito:", testo sostituito)

Produzione:

L'output è mostrato sul lato destro dell'immagine. Qui, ogni parte del dominio dell'indirizzo email assegnato nel testo è sostituita da 'linuxhint'.

Conclusione:

Alcuni usi molto comuni dei modelli di espressioni regolari sono mostrati in questo tutorial per la sostituzione delle stringhe. Esistono molte altre opzioni in Python per scrivere diversi tipi di modelli semplici e complicati per cercare e sostituire la stringa del testo string.

Guarda il video dell'autore: qui

Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...