Sostituzione della stringa Python usando il pattern

Sostituzione della stringa Python usando il pattern
Qualsiasi dati di stringa può essere sostituito con un'altra stringa in Python utilizzando Sostituisci () metodo. Ma se si desidera sostituire qualsiasi parte della stringa abbinando un modello specifico, allora 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 si trova una corrispondenza. Python usa 'Rif' Modulo per utilizzare il modello di espressione regolare nello script per la ricerca, la corrispondenza o la sostituzione. L'uso di schemi di espressione regolari per la sostituzione della stringa è un po 'più lento del metodo di sostituzione () normale, ma molte ricerche e sostituzioni complicate possono essere eseguite facilmente usando il modello. È possibile sostituire una stringa in vari modi usando il modello in Python. Alcuni usi comuni del pattern per sostituire la stringa sono mostrati in questo tutorial. Spyder3 L'editor è usato qui per scrivere ed eseguire lo script.

Elenco dei metacharacter:

Prima di usare il modello per sostituire la stringa, è necessario conoscere il modo per scrivere un modello di espressione regolare. È possibile utilizzare qualsiasi valore di stringa come modello per la corrispondenza esatta. Ma per la ricerca specifica, devi scrivere il modello di espressione regolare usando Metacharacter. L'elenco dei metacharacter più usati per i modelli di scrittura è riportato di seguito con significato.

Carattere Descrizione
. Viene utilizzato per abbinare qualsiasi singolo carattere tranne una nuova linea.
^ Viene utilizzato per abbinare qualsiasi carattere o stringa all'inizio del

corda.

$ Viene utilizzato per abbinare qualsiasi carattere o stringa alla fine della stringa.
+ È usato per abbinare uno o più occorrenze del modello.
? Viene utilizzato per abbinare zero o un verificarsi del modello.
() È usato per i modelli di raggruppamento.
Viene utilizzato per abbinare in base alla parte inferiore o superiore o sia inferiore che superiore

limiti.

[ È usato per abbinare i caratteri in base alla gamma data.
| Viene utilizzato per abbinare i modelli in base o alla logica.
\ Viene utilizzato per definire caratteri specifici o non caratteri o cifre o

non cifre.

Sostituisci il metodo:

sub() metodo di 'Rif' Il modulo viene utilizzato in Python per la sostituzione della stringa.

Sintassi:

sub (pattern, sostituti, stringa, count = 0, flags = 0)

Qui modello, sostituire E corda sono argomenti obbligatori. Se la modello è abbinato a qualsiasi parte del corda quindi sostituirà la parte per valore di Sostituire il discussione. Gli altri due argomenti sono opzionali. Alcuni usi dei metacharacter sopra menzionati con metodo sub () sono mostrati nei seguenti esempi di sostituzione della stringa.

Esempio-1: sostituire la stringa per corrispondenza esatta

Se conosci il valore della stringa esatto che si desidera cercare nella stringa principale, è possibile utilizzare 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 in sostituzione è "soleggiato".

#!/usr/bin/env python3
# Importa il modulo Regex
importazione re
# Definisci una stringa
orgstr = "È una giornata piovosa"
# Sostituire la stringa
repstr = re.Sub ("Rainy", "Sunny", Orgstr)
# Stampa la stringa originale
Stampa ("Testo originale:", Orgstr)
# Stampa la stringa sostituita
Stampa ("Testo sostituito:", Repstr)

Produzione:

L'uscita è mostrata sul lato destro dell'immagine.

Esempio 2: cerca e sostituisci la stringa all'inizio

Crea un file Python con il seguente script per conoscere l'uso di '^' nel modello di espressione regolare. Qui, '^[A-za-z]+' viene usato come modello di ricerca. Cercherà tutti i caratteri alfabetici UN A Z E UN A z All'inizio del testo e sostituirlo con un valore vuoto. La stringa sostituita verrà stampata in maiuscolo per superiore() metodo.

#!/usr/bin/env python3
# Importa il modulo Regex
importazione re
# Prendi un input di stringa
originaleText = input ("Immettere un testo \ n")
# Sostituisci la stringa in base al modello
sostituiteText = re.sub ('^[a-za-z]+', ", originale).superiore()
# Stampa la stringa sostituita
print ("testo sostituito:", sostituito)

Produzione:

L'uscita è mostrata sul lato destro dell'immagine. Qui, "Ciao, benvenuto a Linuxhint" è preso come input e 'Ciao' la parola è sostituita da " per il modello.

Esempio-3: cerca e sostituisci la 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 modello nello script. Cercherà tutti i piccoli alfabeti e cifre alla fine del testo e se restituisce vero, la parte corrispondente verrà sostituita dalla stringa "com.bd'.

#!/usr/bin/env python3
# Importa il modulo Regex
importazione re
# Prendi un input di stringa
OriginalText = input ("Immettere un indirizzo URL \ n")
# Sostituisci la stringa in base al modello
sostituiteText = re.sub ('[a-z0-9]+$', 'com.BD ', OriginalText)
# Stampa la stringa sostituita
print ("testo sostituito:", sostituito)

Produzione:

L'uscita è mostrata nel lato destro dell'immagine. Qui, 'https: // www.Google.com 'viene preso come testo di input e dopo sostituire,' https: // www.Google.com.BD 'è stampato come output.

Esempio-4: cercare e sostituire la parte specifica di una stringa

Crea un file Python con il seguente script per cercare e sostituire la parte del testo nel luogo in cui il modello corrisponde. Qui, un elenco di indirizzi e -mail è assegnato come testo nella variabile denominata e -mail. '@[a-z]' è usato modello per la ricerca. Cercherà qualsiasi sotto-corda inizia con piccoli alfabeti seguiti da "@'simbolo. Se la sotto-corda corrisponde, sostituirà quella sotto-corda da "@linuxhint'.

#!/usr/bin/env python3
# Importa il modulo Regex
importazione re
# Definisci una stringa
email = '\ [email protected] \ [email protected] \ [email protected]
# Sostituire la parte specifica della stringa in base al modello
sostituiteText = re.sub ('@[a-z]*', '@linuxhint', email)
# Stampa la stringa originale
Stampa ("Testo originale:", e -mail)
# Stampa la stringa sostituita
print ("\ \ nreplaced text:", sostituito)

Produzione:

L'uscita è mostrata sul lato destro dell'immagine. Qui, ogni parte del dominio dell'indirizzo e -mail assegnato nel testo è sostituito da "Linuxhint'.

Conclusione:

Alcuni usi molto comuni dei modelli di espressione regolari sono mostrati in questo tutorial per la sostituzione della stringa. Molte altre opzioni esistono in Python per scrivere diversi tipi di modelli semplici e complicati per la ricerca e la sostituzione della stringa del testo.

Guarda il video dell'autore: qui