我有一个字符串 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/