java - 如何在java中拆分字符串并包含定界符

标签 java string split delimiter

我想使用分隔符“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/

相关文章:

java - 为什么我的 JTable 条件单元格渲染器中的结果是混合的?

java - JDBC 从 SQL 查询中解析 int

javascript - 在 "Unique Morse Code Words"问题中,我在使用 JavaScript 时遇到问题

asp.net - 随机字符串生成器在多次调用中创建相同的字符串

java - 我应该如何在Java中使用正则表达式和分割方法获得结果?

javascript - JS : Capitalize first letter of every word entered into input

java - 如果调用位于 try/catch block 中并且该方法也抛出异常,那么 catch 是否具有优先级?

java - 我该如何更改这段代码,以便我只有 getKey?

ios - 使用 Swift 的双重格式

javascript - 如何用嵌套字符串分割字符串