java字符串拆分正则表达式保留定界符

标签 java arrays regex string

给出一个输入字符串,例如

"abbbcaababbbcaaabbca"

我想将这样的字符串拆分成一组数组 "bca""ab""a"和 " b

所以上面的例子会返回

"ab", "b", "bca", "ab", "ab", "b", "bca", "a", "ab", "bca".

我有一段 29 行的嵌套循环代码可以完成此任务(返回 ArrayList)。 但是,最好用一行正则表达式来完成这项工作。

这个任务可以用下面的方法完成吗?

stringVar.split("regEX") 

最佳答案

不是单行,但您可以使用 Matcher.find 来完成有一个循环。:

ArrayList<String> result = new ArrayList<String>();
String s = "abbbcaababbbcaaabbca";
Matcher m = Pattern.compile("bca|ab|a|b").matcher(s);
while (m.find())
    result.add(m.group());

DEMO

关于java字符串拆分正则表达式保留定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26076654/

相关文章:

java - Mysql:获取字符串?

java - LIBGDX 水平和垂直视差背景

java - 将嵌套的 foreach 重构为 Java 8 流

java - 交换元素

arrays - 在 Swift 数组中查找最小/最大值

JavaScript REGEX 模式匹配

c# - 坚持 C# 正则表达式

java - 使用 GET 调用 Java Servlet 但使用 POST 处理请求 - 通过 doGet 调用 doPost 在技术上仍然是 GET 操作?

regex - sed 从行尾删除字符模式?

java - 从文本文件读取坐标并循环?