从给定字符串制作字母组和数字的简单方法

时间:2013-09-10 14:47:27

标签: java string

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

  

15D12A3C11B12A

进入

  

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

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

除了字符串的结尾外,任何两个给定数字之间只有一个字母,字符串始终以数字开头。字母可以是A-Z,仅限大写。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

以下代码垂直打印出匹配项。您只需调整它以获得所需的结果字符串。正则表达式意味着:1..n数字后跟恰好一个A-Z字符。如果您想支持小写字符,请将其调整为\\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());
}