我到处寻找,但似乎可以找到解决方案。是否可以将诸如“A1”之类的字符串变量分成字符串“A”和整数1变量?
问问题
1626 次
3 回答
0
如果您看到非数字继续将其添加到 StringBuffer,则从 0 开始解析,因为您看到 digit 将 StringBuffer 的内容添加到List<String> strings;
Digits 和相同List<String> numbers
于 2013-02-20T21:26:11.407 回答
0
如果您有一个字符串变量,例如A1
or ABC123
,您可以尝试:
String input = "A1";
String[] array = input.split("(?<=([a-zA-Z]++))");
String str = array[0];
int integer = Integer.parseInt(array[1]);
于 2013-02-20T21:43:34.343 回答
0
如果字符串长度严格为一个字母并且数字仅为1 位,则可以使用String.split("")
,但是对于更通用的解决方案,您可以使用regex
示例代码:
Matcher matcher = Pattern.compile("([a-zA-Z]+)(\\d+)").matcher("variable1121");
if (matcher.matches()) {
System.out.println(matcher.group(1) + " , " + matcher.group(2));
}
输出:
variable , 1121
于 2013-02-20T21:31:52.457 回答