Java中的子字符串数组

Java中的子字符串数组,java,string,Java,String,我有一个场景,我有一个数字串 String Lastnum = "123456789500020" 预期结果firstnum=1234567895secnum=00020 00030 00040 我需要将其拆分为两个字符串: 首先用于收集10位数字和 第二秒 这里的问题是,第二个数字总是动态的,不确定它是两位数还是五位数,第二个数字应该是字符串数组。请告诉我如何处理代码 for (int i=0; i<Lastnum.length();i++) { String ponum =

我有一个场景,我有一个数字串

String Lastnum = "123456789500020"
预期结果
firstnum=1234567895
secnum=00020 00030 00040
我需要将其拆分为两个字符串:

  • 首先用于收集10位数字和
  • 第二秒
  • 这里的问题是,第二个数字总是动态的,不确定它是两位数还是五位数,第二个数字应该是字符串数组。请告诉我如何处理代码

    for (int i=0; i<Lastnum.length();i++)
    {
        String ponum = Lastnum.substring(0,10);
        String[] item = Lastnum.substring(11, (Lastnum -ponum));
    }
    

    for(int i=0;i如果
    字符串的第二部分类似于
    secnum
    ,即用空格分隔,则可以执行以下操作:

    String ponum = lastnum.substring(0,10);
    String[] item = lastnum.substring(10).split(" ");
    
    我不知道为什么要为
    循环添加
    ,它只是重复相同的计算序列
    lastnum.length()


    另外,请注意,我将变量
    lastnum
    更改为以小写字母开头,以符合Java的命名约定。

    有关sec编号的部分并不完全清楚。动态是什么意思

    反正, 那么:

    String ponum = Lastnum.substring(0,10);
    String sec = Lastnum.substring(10);
    
    首先? 我不明白为什么你需要一个秒字符串数组。第一项中的字符串应该是什么?第二项中的字符串应该是什么

    String Lastnum = "123456789500020"
    String firstNumber = Lastnum.substring(0,10);
    String secondNumber = Lastnum.substring(10, Lastnum.length());
    
    上面的代码将获取字符串中从索引0开始的前10(0…9)个字符,并将其分配给“firstNumber”。然后,它将获取其余字符,索引(10…Lastnum-1的长度)

    如果您得到如下输入:String Lastnum=“123456789500020 00030 00040” 并返回前10位数字[1234567895],再加上剩余数字的数组(用空格表示)

    这与第一个结果的作用基本相同,但进一步将字符串的末尾拆分为空格

    结果将是

    ponum="1234567895"
    remainingNumbers={"00020", "00030", "00040"}
    

    在任何一种情况下,都没有理由循环字符串…

    我认为您正在尝试无限次地打印
    secnum
    ,并在其每个成员之间添加一个空格。您可以尝试以下操作:

    for(int i=0;;i++)
    {
        ponum = lastnum.substring(0,10);
        item[i] = lastnum.substring(10)+" ";
    }
    

    在您的示例结果中,00030 00040来自何处?这些数字似乎不在您的输入中。很抱歉造成混淆,这里是输入38000001200010读取下一个38000001200020读取下一个我定义了一个while循环来读取此结果,因此现在我只有一个po 3800000123和两个行项目00020和00030,因此我需要发送所有不同采购订单的采购订单和行项目数组。希望您理解…非常感谢您在这方面的帮助这从来都不是一个好主意。无限循环不间断?这将使程序崩溃!非常感谢您的快速响应,但我始终会得到15位数字的完整字符串是采购订单+项目编号,其中包括收集项目。如123456789500020、123456789500030等。我需要将10位数字和项目数组分开,因为一个采购订单有许多行项目。请帮助我?
    for(int i=0;;i++)
    {
        ponum = lastnum.substring(0,10);
        item[i] = lastnum.substring(10)+" ";
    }