我有一个像

list1<^0.1>list2<#0.2>list3


我想将其拆分为一个数组

list1, <^0.1>, list2, <#0.2>, list3


我在做什么

String[] parts = str.split("((?<=<[^#][\\d\\.]+>)|(?=<[^#][\\d\\.]+>))");


但这是行不通的。
我想念某事吗?谢谢

最佳答案

您可以如下修改环顾断言:

String s = "list1<^0.1>list2<#0.2>list3";
String[] parts = s.split("(?<=>)|(?=<)");
System.out.println(Arrays.toString(parts));


输出量

[list1, <^0.1>, list2, <#0.2>, list3]

10-05 22:53