java - 当前缀分隔符和后缀分隔符不同时,分割字符串的最佳方法是什么?

标签 java xml regex split

在 Java 中,当每个 block 开头的分隔符与每个 block 末尾的分隔符不同时,将字符串拆分为 block 数组的最佳方法是什么?

例如,假设我有 String string = "abc 1234 xyz abc 5678 xyz"

我想应用某种复杂的分割以获得{"1234","5678"}

首先想到的是:

String[] parts = string.split("abc");
for (String part : parts)
{
    String[] blocks = part.split("xyz");
    String data = blocks[0];
    // Do some stuff with the 'data' string
}

有没有更简单/更干净/更有效的方法?

我的目的(正如您可能已经猜到的那样)是解析 XML 文档。

我想将给定的 XML 字符串拆分为给定标记的 Inner-XML block 。

例如:

String xml = "<tag>ABC</tag>White Spaces Only<tag>XYZ</tag>";
String[] blocks = Split(xml,"<tag>","</tag>"); // should be {"ABC","XYZ"}

如何实现String[] Split(String str,String prefix,String suffix)

谢谢

最佳答案

最好是使用专用的 XML 解析器之一。 请参阅this discussion关于 Java 的最佳 XML 解析器。

我找到了这个DOM XML parser example作为一个简单而好的。

关于java - 当前缀分隔符和后缀分隔符不同时,分割字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21266500/

相关文章:

xml - 如何从预期结果中获取唯一值并与预期结果进行比较?

java - 在 XML 和 Java 中创建 View 然后在以后引用和加载它们?

regex - 如何到达文本文件的特定部分然后搜索

java - 将正则表达式的匹配部分插入到替换文本中

regex - AWK:从线条模式访问捕获的组

java - JPA 延迟加载适用于最终实体和私有(private)构造函数

Java - 如何创建/编写自定义注释并使其工作?

java - Java Swing 的循环进度条不起作用

java - NoClassDefFoundError:com/google/api/client/auth/oauth2/Credential

java - 通过 XSLT 编码到 HTML 表中的 JAXB 包含空值