有什么办法可以从div内部的html中删除\ n?

时间:2019-06-12 06:12:12

标签: java html jsoup

我想删除\n元素内的div,但似乎无济于事。

我尝试使用方法html(String)text(String),但\n仍然存在

<div class="line number1 index1 alt1">
 \n
 1
 \n
</div>
<div class="line number2 index2 alt2">
\n
 2
 \n
</div>
<div class="line number3 index3 alt1">
 \n
 3
 \n
</div>

有什么办法可以做到吗?

谢谢

3 个答案:

答案 0 :(得分:0)

您可以通过简单的正则表达式使用String.replaceAll()方法吗?

htmlString = htmlString.replaceAll("\\n","");

答案 1 :(得分:0)

只需将此脚本添加到您的html文件中即可。它将从每个元素中获取一个class="line"的文本,计算其中有多少\n并且在删除后发生了多少。

脚本:

String.prototype.count = function(s1) { 

    return (this.length - this.replace(new RegExp(s1,"g"), '').length) / s1.length;
}


$('.line').each(function(){

    let happens, i; 
    happens = $(this).text().count('\\n');

    for (i = 0; i < happens; i++) {
        $(this).text($(this).text().replace('\\n',''));
    }
});  

答案 2 :(得分:0)

有一个开源库MgntUtils(由我编写)具有TextUtils.formatStringToPreserveIndentationForHtml的功能之一-将所有的'\n'替换为'<br>',这可能是对您有用。这是该方法的javadoc的链接:formatStringToPreserveIndentationForHtml。该库可以作为Maven artifact或从Github中获取(包括源代码和Javadoc)。这是有关该库的文章的链接:MgntUtils Open Source Java library