我想在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 />
等自动关闭标记。
是否存在以简单方式执行类似操作的库?
谢谢!
答案 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+
。