我有一个非常简单模式的输入字符串 - 大写字母,整数,大写字母,整数......我希望将每个大写字母和每个整数分开。我无法弄清楚用Java做到这一点的最佳方法。
我使用Pattern和Matcher,然后使用StringTokenizer尝试了regexp,但仍然没有成功。
这就是我想要做的,用Python表示:
for token in re.finditer( "([A-Z])(\d*)", inputString):
print token.group(1)
print token.group(2)
对于输入“A12R5F28”,结果将是:
A
12
R
5
F
28
答案 0 :(得分:5)
您可以在Java中使用regex API并实现相同的功能:
Pattern myPattern = Pattern.compile("([A-Z])(\d+)")
Matcher myMatcher = myPattern.matcher("A12R5F28");
while (myMatcher.find()) {
// Do your stuff here
}
答案 1 :(得分:2)
扩展Ravi的答案......
Pattern myPattern = Pattern.compile("([A-Z])(\\d+)");
Matcher myMatcher = myPattern.matcher("A12R5F28");
while (myMatcher.find()) {
System.out.println(myMatcher.group(1) + "\n" + myMatcher.group(2));
}