【问题标题】:How do I identify HTML tags and replace a character in between?如何识别 HTML 标签并替换其间的字符?
【发布时间】:2015-01-18 01:10:48
【问题描述】:

我有这个字符串:

String s="<div style='font: 12px arial, sans-serif;'><b>Menu:<<>></b></div>"

我想将&amp;lt;&amp;lt;&amp;gt;&amp;gt; 更改为&amp;amp;lt;&amp;amp;lt;&amp;amp;gt;&amp;amp;gt; 以获得输出:

String s="<div style='font: 12px arial, sans-serif;'><b>Menu:&amp;lt;&amp;lt;&amp;gt;&amp;gt;</b></div>"

我曾经使用过一次正则表达式从标签中检索文本,但这怎么可能呢?我需要正确的输出。

我的目标是用于通用 HTML 标签,而不仅仅是本文中的特定标签。

【问题讨论】:

  • 这看起来像是 using regex to parse html! 的工作
  • @T.J.Crowder Java ..我已经纠正了帖子..它只是为了给出一个想法而不是实际代码..
  • 为什么要将&amp;lt;&amp;lt;&amp;gt;&amp;gt; 变成&amp;amp;lt;&amp;amp;lt;&amp;amp;gt;&amp;amp;gt;(实际上会呈现为&amp;lt;&amp;lt;)而不是&amp;lt;&amp;lt;&amp;gt;&amp;gt;?!
  • @T.J.Crowder 这是对其他模块的要求..
  • @Rafay:我会质疑,这似乎没有任何意义。您最终会得到显示字符实体而不是字符的 HTML:jsbin.com/vabede/1

标签: java html regex


【解决方案1】:

您可以使用 commons-lang 的 StringEscapeUtils 类来执行此操作。

string s="<div style='font: 12px arial, sans-serif;'><b>Menu:<<>></b></div>";    
System.out.println(StringEscapeUtils.escapeHtml(s));

PS:你的问题是这样的:Is there a quick way to recognize HTML ASCII codes in a String or TextView?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    相关资源
    最近更新 更多