在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