我有一个场景,我有一串数字
String Lastnum = "123456789500020"
预期结果firstnum = 1234567895
secnum = 00020 00030 00040
我需要把它分成两个字符串:
这里的问题是第二个数字总是动态的,不确定它是否带有两位数或五位数,第二个数字应该是字符串数组,如果你能让我知道如何处理代码那么感谢吗?
for (int i=0; i<Lastnum.length();i++)
{
String ponum = Lastnum.substring(0,10);
String[] item = Lastnum.substring(11, (Lastnum -ponum));
}
答案 0 :(得分:2)
如果String
的第二部分看起来像secnum
,即用空格分隔,你可以这样做:
String ponum = lastnum.substring(0,10);
String[] item = lastnum.substring(10).split(" ");
我不确定你为什么添加for
循环,它只是重复相同的计算序列lastnum.length()
次。
另外,请注意我将变量lastnum
更改为以小写字母开头,以符合Java的命名约定。
答案 1 :(得分:1)
关于秒号的部分并不完全清楚。动态是什么意思?
反正 怎么样:
String ponum = Lastnum.substring(0,10);
String sec = Lastnum.substring(10);
首先? 我不明白为什么你需要一个字符串数组秒。第一项中的字符串应该是什么?什么在第二个?
答案 2 :(得分:1)
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],以及其余数字的数组(用空格表示)
String Lastnum = "123456789500020 00030 00040";
String ponum = Lastnum.substring(0,10);
String[] remainingNumbers= Lastnum.substring(10, Lastnum.length()).split(" ");
这基本上与第一个结果完全相同,但是更进一步用空格分割字符串的结尾
结果将是
ponum="1234567895"
remainingNumbers={"00020", "00030", "00040"}
在任何一种情况下,都没有理由循环遍历字符串......
答案 3 :(得分:1)
我认为你试图无限地打印secnum
,并在每个成员之间添加一个空格。您可以尝试以下方法:
for(int i=0;;i++)
{
ponum = lastnum.substring(0,10);
item[i] = lastnum.substring(10)+" ";
}