Saltar al contenido

Cómo quitar esos ” x00 x00″

Solución:

Usar rstrip

>>> text = "Hellox00x00x00x00'
>>> text.rstrip('x00')
'Hello'

Quita todo x00 caracteres al final de la cadena.

>>> a="Hellox00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00" 
>>> a.replace('x00','')
'Hello'

Creo que la solución más general es usar:

cleanstring = nullterminatedstring.split('x00',1)[0]

Que lo hará split la cuerda usando x00 como el delimitador 1 tiempo. los split(...) devuelve una lista de 2 elementos: todo lo que esté antes del nulo además de todo lo que esté después del nulo (elimina el delímetro). Anexando [0] solo devuelve la parte de la cadena antes del primer carácter nulo ( x00), que creo que es lo que estás buscando.

La convención en algunos lenguajes, específicamente en C, es que un solo carácter nulo marca el final de la cadena. Por ejemplo, también debería esperar ver cadenas que se parecen a:

'Hellox00dpiecesofsomeoldstringx00x00x00'

La respuesta proporcionada aquí manejará esa situación así como los otros ejemplos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *