有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java中拆分字符串并包含分隔符

我想使用分隔符“AAAA”拆分这个字符串“ahhhaaartfuhlaaaaahv”,并将其保存到包含分隔符的数组中。(所需输出:[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]


共 (1) 个答案

  1. # 1 楼答案

    你可以使用^{}

    (?=AAAA[^A]:向前看以匹配AAAA和非A字符

    |:或

    (?<=AAAA(?=[^A]))):正向向后看,将AAAA与向前看匹配,以确保没有A字符

    String y = "AHHHAAAAARTFUHLAAAAAHV";
    System.out.println(Arrays.toString(y.split("(?=AAAA[^A]|(?<=AAAA(?=[^A])))")));
    

    输出:

    [AHHHA, AAAA, RTFUHLA, AAAA, HV]