从一串数字中获取一个int数组

jpl*_*jpl 1 java arrays string int split

我有一长串数字,

String strNumbers = "123456789";
Run Code Online (Sandbox Code Playgroud)

我需要得到一个int[].

我用这个方法得到它:

public static int[] getIntArray(strNumbers)
{
    String[] strValues = strNumbers.split("");
    int[] iArr = new int[strValues.length];
    for(int i = 0; i < strValues.length; i++)
    {
        iArr[i] = Integer.parseInt(strValues[i]);
    }
    return iArr;
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:java.lang.NumberFormatException:对于输入字符串:""

我的猜测是我无法以这种方式拆分String.我尝试了各种各样的逃避或正则表达但没有任何作用.

有人可以帮忙吗?

Zim*_*oot 9

尝试

char[] chars = strNumbers.toCharArray();
Run Code Online (Sandbox Code Playgroud)

然后遍历char数组.


Boh*_*ian 6

你的问题是拆分正则表达式.试试这个:

String[] strValues = strNumbers.split("(?<=\\d)");
Run Code Online (Sandbox Code Playgroud)

这会在每个数字之后(使用正则表达式后面外观)分割,这将为空白输入创建一个大小为零的数组.