【问题标题】:Java RegEx Replace all to format data from XMLJava RegEx 全部替换以格式化来自 XML 的数据
【发布时间】:2012-05-14 16:59:17
【问题描述】:

大家下午好,

我注意到这里已经有一些类似的问题,但到目前为止对我没有太大帮助。我正在尝试操作由现有方法返回的字符串以将其格式化为可读形式。因此,例如,我正在尝试创建一个 String replaceAll() 正则表达式,它将采用字符串

"<ds:AddressLine1>Birkmire Farm</ds:AddressLine1><ds:AddressLine2>Some Village</ds:AddressLine2><ds:AddressLine3>Wigfield</ds:AddressLine3><ds:AddressLine4>Cumbria</ds:AddressLine4><ds:UKpostcode>CA9 1EJ</ds:UKpostcode>"

并将其转换为...

Birkmire Farm, Some Village, Wigfield, Cumbria, CA9 1EJ

我设想的方法是分三个步骤,首先将所有结束标记替换为“”,然后将所有开始标记替换为“,”,最后使用 String replaceFirst 删除第一个逗号和放置的空格在字符串的前面。

我遇到的问题是正则表达式,我需要制定一个模式来识别任何开始标签 ie 和一个模式来识别任何结束标签 ie 。对此的任何帮助将不胜感激。

【问题讨论】:

  • 尽量不要将正则表达式与非正则语言混用。
  • regex 不是解析 xml 的正确工具。使用 xml 解析器
  • 好了,以上几点都明白了,贴出的链接文章说的很清楚了:)。但这不是我正在解析的实际 xml 文档,它只是我在问题中给出的字符串。约翰王子,谢谢你的建议,我现在正在调查。如果我确实用我的方法吠叫了错误的树,那么任何关于这样做的最佳方法的进一步建议将不胜感激。

标签: java xml regex string replaceall


【解决方案1】:

RE 用于打开标签:&lt;[^/][^&gt;]*&gt;。 RE 结束标签:&lt;/[^&gt;]*&gt;

【讨论】:

  • 谢谢 Rob,这成功了!虽然所有关于 xml 正则表达式导致永远痛苦的话题让我有点担心!
  • 很担心。老实说,Java SAX 解析非常简单,所以我会检查一下。 Here 是一个带有示例的 SO 问题;那里还有一些其他有用的链接...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-17
  • 1970-01-01
  • 2017-03-26
  • 2019-04-14
  • 2014-02-24
  • 2016-06-20
  • 1970-01-01
相关资源
最近更新 更多