【问题标题】:Trying to remove html from text with Java尝试使用 Java 从文本中删除 html
【发布时间】:2012-10-05 21:39:53
【问题描述】:

我有一个名为fieldsArrayList<String>。我正在尝试使用replaceAll 函数解析每个String 中的HTML,但我觉得我搞砸了正则表达式字符串(我得到了第二个正则表达式here 来表示一个通用的html 表达式) .谁能在这里给我一些关于如何纠正自己的提示?

for(int j = 0; j<fields.size(); j++)    
{
    String k = fields.get(j);
    k.replaceAll("<br>", "\n");
    k.replaceAll("<(\"[^\"]*\"|'[^']*'|[^'\">])*>", "");
    k.replaceAll("&lt;", "<");
    k.replaceAll("&gt;", ">");
    fields.set(j, k);
}

【问题讨论】:

  • 使用jsoup 之类的东西会容易得多。那你只需要Jsoup.parse(str).text();

标签: java html regex


【解决方案1】:

记住字符串是不可变的,所以每次调用replaceAll时都要重新分配k

String k = fields.get(j);
k = k.replaceAll("<br>", "\n");
...

【讨论】:

  • facepalm 你说的完全正确,谢谢。这解决了一切。
  • 不,它并没有解决所有问题。您仍在使用正则表达式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
  • 1970-01-01
相关资源
最近更新 更多