在JAVA中的数组的每一列中选择元素j
我有阵列在JAVA中的数组的每一列中选择元素j,java,arrays,string,vector,split,Java,Arrays,String,Vector,Split,我有阵列 String[] test_=new String[] {"a b c d", "f g h i","j k l s gf"}; 现在我想创建另一个包含元素的数组 {"b d", "g i","k s"} 我该怎么做 我已经成功地使用 String split_test[] = null; for (int j = 0 ; j <= 2 ; j++) { split_test=test_[j].split("\\s+"); System.out.pri
String[] test_=new String[] {"a b c d", "f g h i","j k l s gf"};
现在我想创建另一个包含元素的数组
{"b d", "g i","k s"}
我该怎么做
我已经成功地使用
String split_test[] = null;
for (int j = 0 ; j <= 2 ; j++) {
split_test=test_[j].split("\\s+");
System.out.println(Arrays.toString(split_test));
}
String split_test[]=null;
对于(int j=0;j您应该使用二维数组,您可以通过以下操作创建一个数组:
String[][] input=new String[][] {{"a","b","c","d"}, {"f","g","h","i"},{"j","k","l","s"}};
然后您可以执行类似的操作来检索{{“b”,“d”},{“g”,“i”},{“k”,“s”}
:
String[][] output = new String[input.length][2];
for(int i = 0; i<input.length; i++)
{
output[i] = new String[]{input[i][1],input[i][3]};
}
System.out.println(Arrays.deepToString(output));
String[][]输出=新字符串[input.length][2];
对于(int i=0;i我使用了另一种同样有效的方法。我注意到您只采用不均匀索引,因此我采用了模方法:
String[] array = new String[] {"a b c d", "f g h i","j k l s gf"};
String[] result = new String[array.length];
for(int i = 0; i < array.length; i++) {
String subresult = "";
String[] array2 = array[i].split(" ");
for(int j = 0; j < array2.length; j++) {
if(j % 2 == 1)
subresult += array2[j] +" ";
}
result[i] = subresult.trim();
}
String[]array=新字符串[]{“abcd”、“fghi”、“jklsgf”};
字符串[]结果=新字符串[array.length];
for(int i=0;i
这里是另一个。
您可以使用String
类的substring
方法。
或者使用split
方法返回的数组索引
String output[] = new String[test_.length];
String split_test[] = null;
for (int j = 0; j < test_.length(); j++) {
split_test = test_[j].split("\\s+");
// use direct index
// output2[j] = split_test[1] + " " + split_test[3];
// or based on length
output[j] = split_test[1] + " " + split_test[split_test.length - 2];
}
System.out.println(Arrays.toString(output));
要从数组中读取项,您希望在test\uuu
上使用什么逻辑?
String output[] = new String[test_.length];
String split_test[] = null;
for (int j = 0; j < test_.length(); j++) {
split_test = test_[j].split("\\s+");
// use direct index
// output2[j] = split_test[1] + " " + split_test[3];
// or based on length
output[j] = split_test[1] + " " + split_test[split_test.length - 2];
}
System.out.println(Arrays.toString(output));
b d
g i
k s