java - 在java中将字符串分成子串

标签 java arrays string substring

我有一个字符串 1122333344555566778888 我需要对其进行子字符串化,结果得到 [11, 22, 3333, 44, 5555, 66, 77, 8888] 是否有可能以一种漂亮的方式做到这一点,或者我需要对其进行硬编码并八次使用 string.substring(beginning, ending) 函数然后放入 array

编辑: 字符串不仅可以包含重复的数字。 AB CG HERD KJ 98HQ 0K 1E OOQW 这也是例子!

最佳答案

使用模式:((\d)\2*)

String input = "1122333344555566778888";
Pattern p = Pattern.compile("((\\d)\\2*)");
Matcher m = p.matcher(input);
while (m.find()) {
    System.out.println("Found " + m.group(1));
}

产生:

11
22
3333
44
5555
66
77
8888

编辑:如果它的数字以及空格和字母使用模式 (([\d\w\s])\2*)

关于java - 在java中将字符串分成子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13430552/

相关文章:

java - 如何使用 http post 将两个参数传递给 Restful Web 服务? UnrecognizedPropertyException : Unrecognized field , 未标记为可忽略

java - 哈希函数和哈希表

java - 为什么 ArrayList 通过特定公式扩展 elementData 数组?

c# - 从对象列表中创建一个逗号分隔的字符串

python - 从字符串中提取要列出的元素时遇到问题

java - Sonar 插件 Eclipse

java - 登录 Spring security 后保留相同的 URL

java - 获取 Controller 中的 View

javascript - 比较对象数组。返回匹配的对象键和值

python - 如何修复将 $ 解释为 $text $ 中的定界符的数据框?