我到处寻找,但似乎无法找到解决方案。是否可以将字符串变量(如“A1”)分隔为字符串“A”和整数1变量?
答案 0 :(得分:0)
如果你看到非数字继续将其添加到StringBuffer,则从0开始解析,如你所见,将StringBuffer的内容添加到List<String> strings;
,并将数字添加到List<String> numbers
答案 1 :(得分: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
答案 2 :(得分:0)
如果你有一个字符串变量,例如A1
或ABC123
,你可以尝试:
String input = "A1";
String[] array = input.split("(?<=([a-zA-Z]++))");
String str = array[0];
int integer = Integer.parseInt(array[1]);