-3

我到处寻找,但似乎可以找到解决方案。是否可以将诸如“A1”之类的字符串变量分成字符串“A”和整数1变量?

4

3 回答 3

0

如果您看到非数字继续将其添加到 StringBuffer,则从 0 开始解析,因为您看到 digit 将 StringBuffer 的内容添加到List<String> strings;Digits 和相同List<String> numbers

于 2013-02-20T21:26:11.407 回答
0

如果您有一个字符串变量,例如A1or 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 回答