使用Java中的XML标记拆分String

时间:2014-03-12 16:15:23

标签: java xml regex xml-parsing

我想在Java中编写一个方法,用XML标记分割String,如下所示:

"Lorem ipsum <b>dolor</b> sit amet consetetur <b>diam</b> nonumy."

应该返回数组:

["Lorem ipsum ", "<b>dolor</b>", " sit amet consetetur ", "<b>diam</b>", " nonumy."]

这适用于每个XML标记,也适用于<element />等自动关闭标记。

是否存在以简单方式执行类似操作的库?

谢谢!

1 个答案:

答案 0 :(得分:0)

在拆分中使用环视应该可以解决问题:

String splits[] = input.split("\\s+(?=<b>)|(?<=</b>)\\s+");

示例:

String input = "Lorem ipsum <b>dolor</b> sit amet consetetur <b>diam</b> nonumy.";
for(String s : input.split("\\s+(?=<b>)|(?<=</b>)\\s+")){
    System.out.println(s);
}

如果要在吐痰数组中保持空间不变,请从正则表达式中删除\\s+