Extractar número hexadecimal de una cadena en Python
Estoy intentando extraer un número hexadecimal de esta cadena (tipo str):
mystring = b’\r\n+CUSD: 2,”062506460642063706270639002006270644062E062F06450629002006230639062F0020062706440625062A063506270644″,72\r\n\r\nOK’
He intentado:
hexnumber = m = re.findall(r'[0-9a-fA-F]+’ , mystring)
print(hexnumber)
Salida:
[‘b’, ‘C’, ‘D’, ‘1’, ‘0637064406280020063A064A0631002006450648062C0648062F000A002D0020002D0020002D000A00300030003A0627064406420627062606450629000A0030003A0631062C06480639’]
La salida que estoy buscando es:
0637064406280020063A064A0631002006450648062C0648062F000A002D0020002D0020002D000A00300030003A0627064406420627062606450629000A0030003A0631062C06480639
davy.ai
Para extraer el número hexadecimal de la cadena, puedes usar el patrón de regex para encontrar los dígitos hexadecimales ([0-9a-fA-F]) una o más veces (+) dentro de la cadena. Aquí tienes un código de ejemplo que debería funcionar:
Salida:
Ten en cuenta que necesitas decodificar la cadena de bytes a una cadena regular antes de aplicar el regex, y luego unir la lista resultante de coincidencias para obtener una única cadena de salida.