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

Java 从一串数字中获取int数组,java,arrays,string,split,int,Java,Arrays,String,Split,Int,我有一长串数字 String strNumbers = "123456789"; 我需要从中获取一个int[] 我使用此方法获得它: public static int[] getIntArray(strNumbers) { String[] strValues = strNumbers.split(""); int[] iArr = new int[strValues.length]; for(int i = 0; i < strValues.length; i

我有一长串数字

String strNumbers = "123456789";
我需要从中获取一个
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;
}
publicstaticint[]getIntArray(strNumbers)
{
字符串[]strValues=strNumbers.split(“”);
int[]iArr=新的int[strValues.length];
for(int i=0;i
我得到以下错误:java.lang.NumberFormatException:用于输入字符串:“”

我的猜测是,我不能用这种方式拆分字符串。我尝试了各种逃跑或正则表达式,但都没用

有人能帮忙吗?

试试看

char[] chars = strNumbers.toCharArray();
然后遍历
char
数组。

试试看

char[] chars = strNumbers.toCharArray();

然后遍历
char
数组。

您可以使用charAt()函数检索字符串中的每个字符,然后执行parseInt()

您可以使用charAt()函数检索字符串中的每个字符,然后执行parseInt()

您可以简单地使用for循环遍历字符串并调用
string.charAt(int)
您可以简单地使用for循环遍历字符串并调用
string.charAt(int)
尝试:

char[] chars = strNumbers.toCharArray();
int[] iArr = new int[chars.length];
for(int i = 0 ; i < chars.length ; ++i) {
    iArr[i] = chars[i] - '0';
}
char[]chars=strNumbers.tocharray();
int[]iArr=新int[chars.length];
对于(int i=0;i
试试:

char[]chars=strNumbers.tocharray();
int[]iArr=新int[chars.length];
对于(int i=0;i
您可以使用循环语句来迭代字符串。然后使用子字符串方法将字符串切分为单个数字。使用substring()方法可以定义要转换为数字的子字符串的长度。

可以使用循环语句来迭代字符串。然后使用子字符串方法将字符串切分为单个数字。使用substring()方法,您可以定义要转换为数字的子字符串的长度。

您的问题是拆分正则表达式。请尝试以下方法:

String[] strValues = strNumbers.split("(?<=\\d)");

String[]strValues=strNumbers.split((?您的问题是split正则表达式。请尝试以下方法:

String[] strValues = strNumbers.split("(?<=\\d)");

String[]strValues=strNumbers.split(“(?这正是我要找的。非常感谢。我对regex有点陌生,但我正在到达那里。欢迎:)我可以推荐一个好的regex参考网站。这正是我要找的。非常感谢。我对regex有点陌生,但我正在到达那里。欢迎:)我可以推荐一个好的正则表达式参考网站。这是一个好主意,我觉得有点愚蠢,因为我没有想到这一点。这是一个好主意,我觉得有点愚蠢,因为我没有想到这一点。谢谢你的编辑。总有一天我会做对的。;)谢谢你的编辑。总有一天我会做对的