如何在java中将数字字符串转换为int数组

时间:2016-07-22 04:06:44

标签: java string

我的输入字符串为" 0102030405"如何将此数字拆分为2,以使其输出为String[] ("01", "02", "03", "04", "05")

4 个答案:

答案 0 :(得分:2)

试试这个,

String a = "0102030405";
System.out.println(Arrays.toString(a.split("(?<=\\G.{2})")));

答案 1 :(得分:2)

String input = "0102030405";

    String[] output = new String[input.length()/2];

    int k=0;
    for(int i=0;i<input.length();i+=2){
        output[k++] = input.substring(i, i+2);
    }

    for(String s:output){
        System.out.println(s);
    }

答案 2 :(得分:0)

您可以尝试从字符串中读取每两个字符。 这可以通过以下方式解决:"(?<=\\G.{2})"

但我认为更清洁的解决方案是:

string.substring(startStringInt, endStringInt);

这是一个完整的例子:

package Main;

import java.util.ArrayList;
import java.util.List;

public class Test {

    public static void main(String[] args) {
        for (String part : splitString("0102030405", 2)) {
            System.out.println(part);
        }
    }

    private static List<String> splitString(String string, int numberOfChars) {
        List<String> result = new ArrayList<String>();

        for (int i = 0; i < string.length(); i += numberOfChars)
        {
            result.add(string.substring(i, Math.min(string.length(), i + numberOfChars)));
        }

        return result;
    }
}

答案 3 :(得分:-1)

import java.util.ArrayList;
public class HelloWorld{
    public static void main(String []args){
        HelloWorld h1 = new HelloWorld();
        String a = "0102030405";
        System.out.println(h1.getSplitString(a));
    }

    private ArrayList<String> getSplitString(String stringToBeSplitted) {
        char[] charArray = stringToBeSplitted.toCharArray();
        int stringLength = charArray.length;
        ArrayList<String> outPutArray = new ArrayList<String>();
        for(int i=0; i <= stringLength-2; i+=2){
            outPutArray.add("" + charArray[i] + charArray[i+1]);
        }
        return outPutArray;
     }
}

这里首先将String拆分为char数组。然后使用for循环将两个数字连接起来并放入ArrayList中返回。如果需要返回Array,可以将返回类型更改为String [],并在return语句中将其更改为

outPutArray.toArray(new String[outPutArray.size()];

如果插入一个字符串,则奇数个字符的最后一个字符将被省略。更改循环条件以解决此问题。