日期:2014-05-20  浏览次数:20579 次

java中的字符串截取
现在有如下字符串:
000512345

字符串的构成说明:0005前四位表示后面有多少个长度的字符,后面可能有多个这样结构的长字符串组成,比如:

0005123450003123000812345678
请教下像这样的字符串该怎样截取

------解决方案--------------------
Java code


String  as = "0005123450003123000812345678";

while (as.length()>0){
    int strCount=Integer.valueOf(as.substring(0, 4));
    String res=as.substring(4, 4+strCount);
    //out print your string
    System.out.println(res);
    as=as.substring(4+strCount, as.length());
}

------解决方案--------------------
Java code

public static void main(String[] args){
        String str = "0005123450003123000812345678";
        while(str.length() > 0){
            int len = Integer.parseInt(str.substring(0,4));
            String sub = str.substring(4,4+len);
            System.out.println(sub);
            str = str.substring(4+len);
        }
    }

------解决方案--------------------
String strs="0005123450003123000812345678";
while(strs.length() > 0){
int str1=Integer.parseInt(strs.substring(0,4));
System.out.println(strs.substring(0,str1+4));
strs=strs.substring(str1+4);
}

红色部分 看您是否需要前面的'000'