2011-08-12 16 views
6

¿Cómo puedo eliminar los siguientes:¿Cómo puedo eliminar espacios sin ruptura de un 'Documento' JSoup?

<td>&nbsp;</td> 

o

<td width="7%">&nbsp;</td> 

de 'Documento' mi JSoup? He intentado con muchos métodos, pero estos caracteres espaciales no fraccionarios no coinciden con nada con expresiones o selectores JSoup normales.

+1

¿No es posible abrir el documento en un IDE o editor de texto como Notepad ++ y buscar y reemplazar? ¿O quiere decir que debe hacerlo programáticamente? – tw16

+0

JSoup es una biblioteca que analiza datos FETCHED HTML para una aplicación. Entonces no, lo que estás sugiriendo no solo no es posible, sino que no es aplicable. :) –

+0

¿Esto se aplica a todo el documento o solo dentro de los elementos ''? Por cierto, ¿sabe usted que el navegador MSIE tiene problemas de representación con elementos '' completamente vacíos? Un '  ' es una solución clásica para este mal funcionamiento de MSIE. – BalusC

Respuesta

12

La entidad HTML &nbsp; (Unicode character NO-BREAK SPACE U+00A0) puede ser representada en Java por el carácter \u00a0. Suponiendo que desea eliminar todos los elemento que contiene ese carácter como texto propio (y por lo tanto no todos los línea como usted ha dicho en un comentario), a continuación, el siguiente debe trabajar;

document.select(":containsOwn(\u00a0)").remove(); 

Si realmente significa eliminar toda la línea , entonces la mejor opción es escanear HTML usted mismo línea por línea.

Cuestiones relacionadas