es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo reemplazar diferentes patrones con el mismo reemplazo?

Estoy intentando reemplazar varios elementos usando regex pero no estoy obteniendo el resultado esperado. En el siguiente código necesito reemplazar el número de teléfono y la palabra ‘hi’ con “X”.

txt = "Hola, mi número de teléfono es 089992654231. Tengo 24 años."

def processString3(txt):
    txt = re.sub('[0-9],Hi]', 'X', txt)
    print(txt)

processString3(txt)

Resultado esperado: XX, mi número de teléfono es XXXXXXXXXX. Tengo 24 años.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Hay un par de errores en la función re.sub():

    • Los corchetes cuadrados no están colocados correctamente: [0-9], Hi] debería ser [0-9]|Hi
    • La coma en [0-9] es innecesaria
    • La cadena de reemplazo debería ser "X" en lugar de 'X'

    Aquí está el código corregido:

    import re
    
    txt = "Hi, my phone number is 089992654231. I am 24 years old."
    
    def processString3(txt):
        txt = re.sub('[0-9]|Hi', 'X', txt)
        print(txt)
    
    processString3(txt)
    

    Esto dará la salida esperada:

    XX, my phone number is XXXXXXXXXX. I am 24 years old.
    

Comments are closed.