【问题标题】:(Java) Strings separated by whitespace from list(Java) 列表中用空格分隔的字符串
【发布时间】:2015-04-10 06:06:37
【问题描述】:

我有一个字符串 ArrayList,其中包含: [3 9 12, 6 6 12, 36 12 48, 1 1 2, 1 2 3, 8 10 18, 5 12 17, 77 5 82, 32 2 34, 92 15 107, 99 6 105]

每个字符串包含三个整数。如何将这些由空格分隔的整数分开并将它们添加到三个不同的 ArrayList 中,使它们看起来像这样:

list1 :[3, 6, 36, 1, 1, 8, 5, 77, 32, 92, 99]

list2: [9, 6, 12, 1, 2, 10, 12, 5, 2, 15, 6]

list3: [12, 12, 48, 2, 3, 18, 17, 82, 34, 107, 105]

三个结果列表仍然是字符串类型。任何帮助将不胜感激。

【问题讨论】:

  • 你试过 String#split 吗?
  • 你是怎么做到的?你至少用谷歌搜索过吗?
  • 考虑在列表周围添加代码标签,以提高可读性。
  • @KevinEsche 是的,我做到了,我尝试过的一件事是 line.split("\\s*") 和不同的正则表达式值,但似乎都不起作用。

标签: java string arraylist


【解决方案1】:

您可以获取 String ArrayList 3 9 12 的单个元素,然后使用 split 将其拆分为自己的字符串数组

ArrayList<String> arrList1 = new ArrayList<String>(); // for the 1st num in each pair of 3
ArrayList<String> arrList2 = new ArrayList<String>(); // for the 2nd num in each pair of 3
ArrayList<String> arrList2 = new ArrayList<String>(); // for the 3rd num in each pair of 3


// then loop this part below for however many elements are in the original ArrayList "list"
String str = list.get(0); // assuming index 0 was "3 9 12"
String[] arr = str.split(" ");
arrList1.add(arr[0]);
arrList2.add(arr[1]);
arrList3.add(arr[2]);

【讨论】:

  • 感谢您的帮助。
【解决方案2】:

遍历您的 ArrayList,然后使用 String.split() 分隔您的值。

for(String values : yourArrayList){
    String[] parts = values.split(" ");
    youNewArrayList1.add(parts[0]);
    youNewArrayList2.add(parts[1]);
    youNewArrayList3.add(parts[2]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多