0

我需要从给定的字符串中创建一组数字和单个字母,例如:

15D12A3C11B12A

进入

15D、12A、3C、11B、12A

并将输出单独存储在单独的变量中

任何两个给定数字之间只有一个字母表,字符串末尾除外,并且字符串始终以数字开头。字母可以是 AZ,只能是大写。

4

2 回答 2

4

我只会使用一个Matcher

String str = "15D12A3C11B12A";

Matcher m = Pattern.compile("\\d+\\D").matcher(str);
while (m.find())
    System.out.println(m.group());
15D
12A
3C
11B
12A
于 2013-09-10T14:54:54.057 回答
0

以下代码垂直打印出匹配项。您只需要调整它以获得所需的结果字符串。正则表达式的意思是:1..n 位数字后跟 AZ 中的一个字符。如果要支持小写字符,请将其调整为\\d+[a-zA-Z]

String str = "15D12A3C11B12A";
String pattern = "\\d+[A-Z]";
Pattern p = Pattern.compile(pattern);
Matcher matcher = p.matcher(str);
while (matcher.find()) {
    System.out.println(matcher.group());
}
于 2013-09-10T14:56:22.847 回答