【发布时间】:2017-05-29 02:55:30
【问题描述】:
我有一个如下格式的字符串 A34B56A12B56
我正在尝试根据前缀将数字排序为两个数组。 例如:
- 数组 A:34,12
- 阵列 B:56,56
最简单的方法是什么?
我尝试使用 String Tokenizer 类并且能够提取数字,但是无法知道前缀是什么。本质上,我只能将它们提取到一个数组中。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
Scanner可能很擅长这个。参见例如next(Pattern). -
input.split("(?<=\\d)(?=\\D)")。对于返回数组中的每个元素,使用charAt(0)获取字母(A或B),使用substring(1)获取数字。现在将数字添加到适当的List(除非您预先知道值的数量,否则不能使用数组)。 -
这可以用有限状态机解决。
-
谢谢安德烈亚斯。
标签: java regex string stringtokenizer