我需要从给定的字符串中创建数字组和单个字母,例如:
15D12A3C11B12A
进入
15D,12A,3C,11B,12A
并将输出分别存储在单独的变量
中除了字符串的结尾外,任何两个给定数字之间只有一个字母,字符串始终以数字开头。字母可以是A-Z,仅限大写。
答案 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());
}