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.

¿Existe algún método de Python que pueda extraer el valor de las claves detrás del signo = en una cadena larga?

Estoy ejecutando Python para extraer el valor de las claves de una cadena larga devuelta por un encabezado de respuesta http como se muestra a continuación:

“csrftoken = ## 10882d8a32354e7e7e518beebf1d531d18788899; Seguro; Ruta = /, sesión = 75bcede9f0192ed2_619d5819.Qa4dv5iN0lHFkLWcdcDTzjvaabb; Seguro; HttpOnly; Ruta = / ”

Me gustaría extraer ‘## … 8899′ (valor de csrftoken) y ’75 … aabb’ (valor de sesión). ¿Hay algún método de python o forma inteligente de extraer fácilmente esos valores?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay varios métodos y bibliotecas de Python que se pueden utilizar para extraer valores de una cadena larga como la del ejemplo. Aquí hay una posible solución utilizando expresiones regulares:

    import re
    
    header_str = "csrftoken=##10882d8a32354e7e7e518beebf1d531d18788899; Secure; Path=/, session=75bcede9f0192ed2_619d5819.Qa4dv5iN0lHFkLWcdcDTzjvaabb; Secure; HttpOnly; Path=/"
    
    csrftoken = re.search(r"csrftoken=(\w+)", header_str).group(1)
    session = re.search(r"session=(\w+)", header_str).group(1)
    
    print(csrftoken)  # Salida: '10882d8a32354e7e7e518beebf1d531d18788899'
    print(session)    # Salida: '75bcede9f0192ed2_619d5819.Qa4dv5iN0lHFkLWcdcDTzjvaabb'
    

    Aquí estamos usando el módulo re para buscar patrones en la cadena del encabezado. El patrón \w+ coincidirá con uno o más caracteres de palabra (letras, dígitos y guiones bajos), y los paréntesis capturarán el texto coincidente como un grupo. El método group(1) extraerá el primer (y único) grupo capturado.

Comments are closed.