【问题标题】:Java (Android) regular expression to strip out HTML paragraphJava (Android) 正则表达式去除 HTML 段落
【发布时间】:2011-02-09 11:31:39
【问题描述】:

我有一个从外部 XML 源获取一些数据的 Android 应用程序。我已经从其中一个 XML 元素中删除了一些 HTML,但格式如下:

<p class="x">Some text...</p>
<p>Some more text</p>
<p>Some final text</p>

我想提取中间段落文本,我该怎么做?正则表达式会是最好的方法吗?我真的不想开始包含外部 HTML 解析库。

【问题讨论】:

    标签: java html android regex


    【解决方案1】:

    如果简单,就做一个正则表达式。

    如果您从自己拥有的外部来源获取 XML,我会在那里对其进行解析。

    【讨论】:

      【解决方案2】:

      RegEx match open tags except XHTML self-contained tags

      那么,我将问一个包含链接到答案的问题:您是否尝试过使用 XML 解析器?

      您也可能从那里的其他一些答案中得到一些想法,但我会尽量避免使用正则表达式路径。正如 Macarse 建议的那样,如果可以的话,请在服务器上清理它。如果没有,请将这三个 &lt;p&gt; 元素包装在一个根元素中,并使用 SAX 或其他方式对其进行解析,注意第二段元素。

      【讨论】:

        【解决方案3】:

        只是进行拆分:http://developer.android.com/reference/java/lang/String.html#split(java.lang.String)

        "&lt;/p&gt;&lt;p&gt;" 上并在返回的数组中获取第二个条目实际上会很快完成

        【讨论】:

          【解决方案4】:

          如果你要解析从网站下载的 XML 文件,那么与 Android 无关。

          【讨论】:

            【解决方案5】:

            正则表达式可能类似于:.*?&gt;(.*?)&lt;.* 您可以通过在 Matcher 对象上调用 group(1) 来访问分组内容。

            【讨论】:

              猜你喜欢
              • 2016-04-02
              • 2011-05-03
              • 2010-11-08
              • 1970-01-01
              • 2014-08-05
              • 1970-01-01
              • 2016-03-30
              • 2010-09-12
              • 2018-10-13
              相关资源
              最近更新 更多