如何从BIG HTML字符串中删除一些标签?

时间:2017-03-08 20:05:13

标签: java android html list

我需要使用一些HTML标签(删除它们)

此HTML以.txt形式存储到我应用的资源文件夹

这个HTML太大了(比如7000多行)我无法将它存储到一个简单的String var ...

我正在使用此代码将.txt转换为ArrayList:

InputStream is;

try {
    is = getAssets().open("html.txt");
} catch (IOException e) {
    e.printStackTrace();
}

BufferedReader br = new BufferedReader(new InputStreamReader(is));

String strLine;

List<String> stringList = new ArrayList<>();
try {
    while ((strLine = br.readLine()) != null) {
        stringList.add(strLine);
    }
} catch (Exception e) {
    e.printStackTrace();
}

这样,我想.txt HTML中的每一行都存储为stringList的元素......但是我怎么能删除想要的标签,因为它的开头和结尾可能在不同的行中?

如果不可能,我想知道此问题的任何解决方法......提前致谢!

修改

我想进行修改,例如从页面中删除所有链接,例如<a href="url"><a>

另外,我想删除标签<title> ...正在恢复:那些不是很大的修改......

我已经在我的一个项目中使用了JSoup ......但它只是将HTML存储为文档...要使用标记,作为Document类型的HTML值得吗?我怎样才能转换JSoup文档中的.txt文件?

1 个答案:

答案 0 :(得分:1)

假设你真的无法将它全部存储在一个大字符串中(或者你不想),提取可能跨越行的内容将是一个问题,是的。

您是否考虑过查看HTML解析器,最好是支持流式传输和修改的HTML解析器,而不是跳到字符串列表?

您可能会考虑使用HTML解析器的原因是,手动搜索HTML标记可能无法考虑您可能遇到的所有潜在方案(注释掉HTML标记以及HTML解析器可以为您处理的其他事项)。 / p>