2011-08-12 31 views
6

Làm thế nào tôi có thể loại bỏ những:Làm cách nào để xóa không gian không bị phá vỡ khỏi Tài liệu JSoup '?

<td>&nbsp;</td> 

hoặc

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

từ 'tài liệu' JSoup của tôi? Tôi đã thử nhiều phương pháp, nhưng những ký tự khoảng trống không phá vỡ này không khớp với bất kỳ thứ gì với các biểu thức JSoup bình thường hoặc Selectors.

+1

Không thể mở tài liệu trong IDE hoặc trình soạn thảo văn bản như Notepad ++ và tìm và thay thế? Hoặc bạn có nghĩa là bạn cần phải làm điều đó theo chương trình? – tw16

+0

JSoup là thư viện phân tích dữ liệu HTML FETCHED cho một ứng dụng. Vì vậy, không, những gì bạn đang đề xuất không chỉ là không thể, nhưng không áp dụng. :) –

+0

Điều này có áp dụng cho toàn bộ tài liệu hay chỉ trong các phần tử ''? Nhân tiện, bạn có biết rằng trình duyệt MSIE đã hiển thị các vấn đề với các phần tử '' hoàn toàn trống không? Một '  ' là một cách giải quyết cổ điển cho hành vi sai trái MSIE này. – BalusC

Trả lời

12

Thực thể HTML &nbsp; (Unicode character NO-BREAK SPACE U+00A0) có thể bằng Java được thể hiện bằng ký tự \u00a0. Giả sử rằng bạn muốn loại bỏ tất cả các yếu tố chứa mà nhân vật dưới dạng văn bản riêng (và do đó không phải mọi dòng như bạn nói trong một chú thích), sau đó các ought sau đây để làm việc:

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

Nếu bạn thực sự có nghĩa là để xóa toàn bộ đường dây thì đặt cược tốt nhất của bạn thực sự là tự quét HTML theo từng dòng.

Các vấn đề liên quan