Pitón

Reemplazo de cadena de Python usando patrón

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

Lista de metacaracteres:

Antes de usar el patrón para reemplazar una cadena, debe conocer la forma de escribir un patrón de expresión regular. Puede utilizar 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 metacaracteres. La lista de los metacaracteres más utilizados para escribir patrones se proporciona a continuación con significado.

    Personaje  Descripción
    .  Se utiliza para hacer coincidir cualquier carácter, excepto un salto de línea.
    ^  Se utiliza para hacer coincidir cualquier carácter o cadena al comienzo de la

cuerda.

    PS  Se utiliza para hacer coincidir cualquier carácter o cadena al final de la cadena.
    +  Se utiliza para hacer coincidir una o más ocurrencias del patrón.
    ?  Se utiliza para hacer coincidir cero o una aparición del patrón.
   ()  Se utiliza para agrupar patrones.
   Se utiliza para hacer coincidir en base a inferior o superior o tanto inferior como superior

limites.

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

no digitos.

Método de reemplazo:

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

Sintaxis:

sub (patrón, reemplazar, cadena, recuento = 0, banderas = 0)

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

Ejemplo-1: Reemplazar cadena por coincidencia exacta

Si conoce el valor exacto de la cadena que desea buscar en la cadena principal, puede usar el valor de la cadena de búsqueda como patrón en sub() método. Crea un archivo de Python con la siguiente secuencia de comandos. 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
# Importar módulo de expresiones regulares
importar re
# Definir una cadena
orgStr = "Es un día lluvioso"
# Reemplazar la cuerda
repStr = re.sub ("lluvioso", "soleado", orgStr)
# Imprime la cadena original
print ("Texto original:", orgStr)
# Imprime la cadena reemplazada
print ("Texto reemplazado:", repStr)

Producción:

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

Ejemplo 2: buscar y reemplazar 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 utiliza como patrón de búsqueda. Buscará todos los caracteres alfabéticos de A a Z y a a z al principio del texto y reemplazarlo con un valor vacío. La cadena reemplazada se imprimirá en mayúsculas para superior() método.

#!/ usr / bin / env python3
# Importar módulo de expresiones regulares
importar re
# Toma una entrada de cadena
originalText = input ("Ingresa un texto \ n")
# Reemplazar la cadena según el patrón
ReplaceText = re.sub ('^ [A-Za-z] +', ", texto original).superior()
# Imprime la cadena reemplazada
print ("Texto reemplazado:", texto reemplazado)

Producción:

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

Ejemplo 3: cadena de búsqueda y reemplazo al final

Cree un archivo de Python con la siguiente secuencia de comandos para conocer el uso de 'PS símbolo en 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, 'com.bd'.

#!/ usr / bin / env python3
# Importar módulo de expresiones regulares
importar re
# Toma una entrada de cadena
originalText = input ("Ingrese una dirección URL \ n")
# Reemplazar la cadena según el patrón
ReplaceText = re.sub ('[a-z0-9] + $', 'com.bd ', texto original)
# Imprime la cadena reemplazada
print ("Texto reemplazado:", texto reemplazado)

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.com.bd 'se imprime como salida.

Ejemplo 4: buscar y reemplazar la parte específica de una cadena

Cree un archivo de Python con la siguiente secuencia de comandos para buscar y reemplazar la parte del texto en el lugar donde coincide el patrón. Aquí, se asigna una lista de direcciones de correo electrónico como texto en la variable denominada correos electrónicos. '@ [a-z]' es un patrón usado para buscar. Buscará cualquier subcadena que comience con alfabetos pequeños seguidos de '@'símbolo. Si alguna subcadena coincide, reemplazará esa subcadena por '@linuxhint'.

#!/ usr / bin / env python3
# Importar módulo de expresiones regulares
importar re
# Definir una cadena
correos electrónicos = '\ n [correo electrónico protegido] \ n [correo electrónico protegido] \ n [correo electrónico protegido]'
# Reemplazar la parte específica de la cadena según el patrón
ReplaceText = re.sub ('@ [a-z] *', '@linuxhint', correos electrónicos)
# Imprime la cadena original
imprimir ("Texto original:", correos electrónicos)
# Imprime la cadena reemplazada
print ("\ nTexto reemplazado:", texto reemplazado)

Producción:

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

Conclusión:

En este tutorial se muestran algunos usos muy comunes de los patrones de expresión regular 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.

Ver el video del autor: aquí

Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...
Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...
Vulkan para usuarios de Linux
Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un pa...