java regex.split cfgs字符串

whhtz7ly  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(370)

解析cfg文件中的行字符串时遇到问题,
输入字符串为:

String str = "The <animal> loves to <activity>.";

我曾尝试使用带regex的split按非终端(<*>)进行拆分,但是没有产生预期的结果:
我试过的:

str.split("(?=<)");

Output:

"The ", "<animal> loves to", "<activity>."

期望输出:

"The ", "<animal>", " loves to ", "<activity>", "."
vfh0ocws

vfh0ocws1#

您可以使用lookarounds进行拆分:

String str = "The <animal> loves to <activity>.";
String[] parts = str.split("(?=<)|(?<=>)");
System.out.println(Arrays.toString(parts));

这张照片:

[The , <animal>,  loves to , <activity>, .]

上面使用的拆分逻辑表示在 > 紧接在前面或在什么时候 < 紧接着。

相关问题