gpt4 book ai didi

java split给出不同的数组长度

转载 作者:行者123 更新时间:2023-12-01 15:15:37 24 4
gpt4 key购买 nike

Possible Duplicate:
Java StringTokenizer, empty null tokens

考虑这个java片段:

public class Test {

public static void main(String[] args) {
String s1 = "1;2;3;4;5";
String s2 = "1;2;;;";

String[] splits1 = s1.split(";");
String[] splits2 = s2.split(";");

System.out.println(splits1.length);
System.out.println(splits2.length);
}
}

输出:

5
2
<小时/>

我需要一些替代方法来提取具有相同长度的数组。

如果搜索字符串(例如 s2)中有四个分号(“;”),那么我希望分割数组(splits2)的长度=5,在适当的情况下带有空元素(splits2[2]=null,splits2) [3]=空等)。

您能提供解决方案吗?

最佳答案

1. 在“;”之间使用“空格”具有相同长度的数组。 您将拥有不为空的空白

例如:

   String[] s = "1;2; ; ;" ; 

<强>2。数组是一个对象,可以为null,如果它内部包含引用变量,则可以为null、< strong>但是原始类型不能为空。所以我使用空格。

//////////////////////已编辑//////////////////

使用下面的代码片段,它正在运行......

String a = "1;2;;;;";
char[] chArr = a.toCharArray();

String temp = new String();
String[] finalArr = new String[a.length()];

for (int i = 0; i < chArr.length; i++) {

try {
temp = chArr[i] + "";
Integer.parseInt(temp);
finalArr[i] = temp;

} catch (NumberFormatException ex) {

finalArr[i] = null;

}

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

关于java split给出不同的数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11647468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com