Reemplazo de cuerdas de Python usando patrón

Reemplazo de cuerdas de Python usando patrón
Cualquier datos de cadena se puede reemplazar con otra cadena en Python utilizando el reemplazo () método. Pero si desea reemplazar cualquier parte de la cadena haciendo coincidir un patrón específico, entonces debe usar una expresión regular. Se usa para buscar un patrón específico en un valor de cadena particular y la cadena se reemplazará con otra cadena si se encuentra alguna coincidencia. Python usa 're' módulo para usar un patrón de expresión regular en el script para buscar, coincidir o reemplazar. El uso de patrones de expresión regulares para el reemplazo de la cadena es un poco más lento de lo normal reemplazar (), pero muchas búsquedas y reemplazo complicadas se pueden hacer fácilmente utilizando el patrón. Puede reemplazar una cadena de varias maneras usando el patrón en Python. Algunos usos comunes del patrón para reemplazar la cadena se muestran en este tutorial. Spyder3 El editor se usa aquí para escribir y ejecutar el script.

Lista de metacharacteres:

Antes de usar el patrón para reemplazar la cadena, debe saber la forma de escribir un patrón de expresión regular. Puede usar cualquier valor de cadena como patrón para la coincidencia exacta. Pero para la búsqueda específica, debe escribir el patrón de expresión regular utilizando metacharacter. La lista de los metacharacteres más utilizados para los patrones de escritura se da a continuación con significado.

Personaje Descripción
. Se usa para que coincida con cualquier personaje, excepto una nueva línea.
^ Se usa para que coincida con cualquier carácter o cadena al comienzo del

cadena.

ps Se usa para que coincida con cualquier carácter o cadena al final de la cadena.
+ Se usa para que coincida con uno o más ocurrencias del patrón.
? Se usa para que coincida con cero o una ocurrencia del patrón.
() Se usa para agrupar patrones.
Se usa para que coincida en función de la parte inferior o superior o inferior y superior y superior

límites.

[] Se usa para hacer coincidir los caracteres basados ​​en el rango dado.
| Se usa para hacer coincidir los patrones basados ​​o la lógica.
\ Se usa para definir caracteres específicos o no caracteres o dígitos o

no dígitos.

Reemplazar el método:

sub() método de 're' El módulo se usa en Python para el reemplazo de la cadena.

Sintaxis:

sub (patrón, reemplazar, string, count = 0, flags = 0)

Aquí patrón, reemplazar y cadena son argumentos obligatorios. Si el patrón coincide con cualquier parte del cadena Luego reemplazará la parte por el valor de Reemplazo de la argumento. Los otros dos argumentos son opcionales. Algunos usos de los metacharacteres mencionados anteriormente con el método sub () se muestran en los siguientes ejemplos de reemplazo de cadena.

Ejemplo-1: Reemplace la cadena por coincidencia exacta

Si conoce el valor de cadena exacto que desea buscar en la cadena principal, puede usar el valor de la cadena de búsqueda como patrón en sub() método. Crear un archivo de Python con el siguiente script. Aquí, el valor de la cadena de búsqueda es 'lluvioso' y el valor de la cadena de reemplazo es 'soleado'.

#!/usr/bin/env python3
# Módulo de importación de regex
importar
# Defina una cadena
orgstr = "Es un día lluvioso"
# Reemplace la cadena
repstr = re.sub ("lluvioso", "soleado", orgstr)
# Imprime la cadena original
Imprimir ("Texto original:", orgstr)
# Imprime la cadena reemplazada
Imprimir ("Texto reemplazado:", Repstr)

Producción:

La salida se muestra en el lado derecho de la imagen.

Ejemplo-2: Busque y reemplace la cadena al principio

Cree un archivo de Python con el siguiente script para conocer el uso de '^' En el patrón de expresión regular. Aquí, '^[A-ZA-Z]+' se usa como patrón de búsqueda. Buscará todos los caracteres alfabéticos de A a Z y a a z Al comienzo del texto y reemplácelo con un valor vacío. La cadena reemplazada se imprimirá en mayúsculas para superior() método.

#!/usr/bin/env python3
# Módulo de importación de regex
importar
# Tomar una entrada de cadena
OriginalText = input ("Ingrese un texto \ n")
# Reemplace la cadena en función del patrón
reemplazadoText = RE.Sub ('^[A-Za-Z]+', ", OriginalText).superior()
# Imprime la cadena reemplazada
Imprimir ("Texto reemplazado:", ReemplazarText)

Producción:

La salida se muestra en el lado derecho de la imagen. Aquí, 'Hola, bienvenido a Linuxhint' se toma como entrada y 'Hola' La palabra se reemplaza por " para el patrón.

Ejemplo-3: busque y reemplace la cadena al final

Cree un archivo Python con el siguiente script para conocer el uso de 'ps Símbolo en el patrón de expresión regular. Aquí, '[a-z0-9]+$'se usa como patrón en el script. Buscará todos los alfabetos y dígitos pequeños al final del texto y, si devuelve verdadero, la parte coincidente será reemplazada por la cadena ','comunicarse.bd'.

#!/usr/bin/env python3
# Módulo de importación de regex
importar
# Tomar una entrada de cadena
OriginalText = input ("Ingrese una dirección de URL \ n")
# Reemplace la cadena en función del patrón
reemplazadoText = RE.sub ('[a-z0-9]+$', 'com.bd ', originalText)
# Imprime la cadena reemplazada
Imprimir ("Texto reemplazado:", ReemplazarText)

Producción:

La salida se muestra en el lado derecho de la imagen. Aquí, 'https: // www.Google.com 'se toma como texto de entrada y después de reemplazar,' https: // www.Google.comunicarse.BD 'se imprime como salida.

Ejemplo-4: busque y reemplace la parte específica de una cadena

Cree un archivo de Python con el siguiente script para buscar y reemplazar la parte del texto en el lugar donde coincide el patrón. Aquí, una lista de direcciones de correo electrónico se asigna como texto en la variable nombrada correos electrónicos. '@[a-z]' se usa patrón para buscar. Buscará cualquier sub-string comienza con pequeños alfabetos seguidos de '@' símbolo. Si alguna subestimación coincide, reemplazará esa subtracción por '@Linuxhint'.

#!/usr/bin/env python3
# Módulo de importación de regex
importar
# Defina una cadena
correos electrónicos = '\ [email protected] \ [email protected] \ [email protected] '
# Reemplace la parte específica de la cadena basada en el patrón
reemplazadoText = RE.sub ('@[a-z]*', '@linuxhint', correos electrónicos)
# Imprime la cadena original
Imprimir ("Texto original:", correos electrónicos)
# Imprime la cadena reemplazada
Imprimir ("\ nReplaced Text:", reemplazarText)

Producción:

La salida se muestra en el lado derecho de la imagen. Aquí, cada parte de dominio de la dirección de correo electrónico asignada en el texto se reemplaza por 'Linuxhint'.

Conclusión:

Algunos usos muy comunes de los patrones de expresión regulares se muestran en este tutorial para el reemplazo de cadenas. Existen muchas otras opciones en Python para escribir diferentes tipos de patrones simples y complicados para buscar y reemplazar la cadena del texto.

Mira el video del autor: aquí