我想使用分隔符“AAAA”拆分此字符串“AHHHAAAAARTFUHLAAAAAHV”并将其保存到包含分隔符的数组中。 (所需输出:[AHHHA、AAAA、RTFUHLA、AAAA、HV])。我在下面有以下代码,但输出与我想要的输出不同。
String y = "AHHHAAAAARTFUHLAAAAAHV";
System.out.println(Arrays.toString(y.split("((?<=AAAA)|(?=AAAA))")));
输出: [AHHH, A, AAA, A, RTFUHL, A, AAA, A, HV]
最佳答案
您可以使用 (?=AAAA[^A]|(?<=AAAA(?=[^A])))
(?=AAAA[^A]
: 前瞻匹配AAAA
和一个非 A
字符
|
: 或
(?<=AAAA(?=[^A])))
: positive-look-behind 匹配AAAA
向前看以确保没有A
性格
String y = "AHHHAAAAARTFUHLAAAAAHV";
System.out.println(Arrays.toString(y.split("(?=AAAA[^A]|(?<=AAAA(?=[^A])))")));
输出:
[AHHHA, AAAA, RTFUHLA, AAAA, HV]
关于java - 如何在java中拆分字符串并包含定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42959401/