Jsoup:删除不间断空间仍显示空白

时间:2019-11-04 04:44:08

标签: jsoup non-breaking-characters

已删除非中断空间,但仍显示空白空间。以下是html内容,mime类型是multipart / alternative。

 <body dir="ltr"> 
  <div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"> 
   <p style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;margin-bottom:12.0pt"> Hi,</p> 
   <p style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;margin-left:.5in"> <br> This is test email.</p> 
   <p style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif"> 
    <o:p>
     &nbsp;
    </o:p></p> 
   <p style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif"> 
    <o:p>
     &nbsp;
    </o:p></p> 
   <p style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif"> Thanks</p> 
   <p style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif"> Deepak Verma</p> 
   <br> 
  </div>   
 </body>

我正在使用此链接https://javaee.github.io/javamail/FAQ#mainbody中给出的代码来获取正文。

执行prettyPrint之后,除不间断空格外,所有空格均已删除。下面是代码和结果。

strMessageBody = objMessageBody.toString();
document = Jsoup.parse(strMessageBody);
String str1 = Jsoup.clean(document.html(), "", Whitelist.none().addTags("p"), new Document.OutputSettings().prettyPrint(true));
String str2 = Jsoup.clean(str1, "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false));
System.out.println(str2);
This is test email. 
  &nbsp;  
  &nbsp;  
Thanks
Deepak Verma

要删除这个不间断的空间,我使用了Parser.unescapeEntities();。但仍然有空间 Parser.unescapeEntities(str2,true);

This is test email.


Thanks
Deepak Verma

我还尝试了Parser.unescapeEntities(str2.replace(“ \ u00A0”,“”),true); 但是没有成功。

请帮助我解决此问题。

0 个答案:

没有答案