Java str.split(“\\s&”x2B“)未按预期工作
我正在读一行类似于2222155777的内容 拥有:Java str.split(“\\s&”x2B“)未按预期工作,java,arrays,string,Java,Arrays,String,我正在读一行类似于2222155777的内容 拥有: String[]splitDist=line.split(\\s+); for(int i=0;i
String[]splitDist=line.split(\\s+);
for(int i=0;i
i
永不改变。有什么原因吗?想法
我期待像[“2222”、“1555”、“777”]
但是它是一个字符串,所以i
将是0
编辑:不知道为什么会发生这种情况。。。谢谢大家的努力,这里有点不对劲。这一点只是给出了奇怪的行为…String[]splitDist=line.split(\\s+);
String[] splitDist = line.split("\\s+");
for (int i = 0; i< splitDist.length; i++){
System.out.println(splitDist[i]);
}
for(int i=0;i
您需要打印数组元素,而不是i
请尝试此操作
public static void main(String args[]){
String[] arr = new String[3] ;
String line = "2222 1555 777";
String[] splitDist = line.split("\\s+");
for (int i = 0; i< splitDist.length; i++){
arr[i] = splitDist[i];
}
System.out.println("arr"+Arrays.deepToString(arr));
}
它正在工作。我明白,但是
I
仍然应该改变吗?因为新数组中有3个值。@TooTiredToDrink使用String[]splitDist=“a b c”。split(\\s+”)测试它代码>。你应该看到三行。”i
永不改变”我无法重现你的问题。这会将0 1 2
打印给我,因此i
似乎确实发生了变化。确切的输入字符串是什么?与问题中的内容完全相同。显示更多源代码。你发布的剪贴看起来像答案所示。这对我来说很好。你能展示一下你是如何定义输入字符串的吗
public static void main(String args[]){
String[] arr = new String[3] ;
String line = "2222 1555 777";
String[] splitDist = line.split("\\s+");
for (int i = 0; i< splitDist.length; i++){
arr[i] = splitDist[i];
}
System.out.println("arr"+Arrays.deepToString(arr));
}
arr[2222, 1555, 777]