【问题标题】:extract an array from list in java [closed]从java中的列表中提取一个数组[关闭]
【发布时间】:2017-07-04 18:06:28
【问题描述】:

我有一个这样的列表:

List<string> list =Arrays.asList("2014-06-20 [txt1:executed]","2014-06-21 [txt2:in progressed]");

我想将内容提取到一个数组中:

arr[0] =2014-06-20
arr[1] =executed
arr[2] =2014-06-21
arr[3] =in progressed

【问题讨论】:

  • 请正确格式化,以便我们了解列表中数据的外观。不清楚
  • 嗨 Gilad Green,问题已重新整理。
  • ?这不是有效的 Java
  • @userY - 是的 - 我格式化了它。但我的意思是,请发布用字符串初始化的列表的编译 java 代码。目前尚不清楚它实际上是如何格式化的
  • 到目前为止,您为实现这一目标做了哪些努力?

标签: java arrays list


【解决方案1】:

您可以看看正则表达式。它们非常强大,可以根据您的意愿拆分字符串。 这是一个如何拆分字符串的示例。

    String regex = "([0-9-]+)\\s+\\[\\w*:([\\w\\s]*)]";
    List<String> list = Arrays.asList("2014-06-20 [txt1:executed]","2014-06-21 [txt2:in progressed]");
    String date = list.get(0).replaceAll(regex, "$1");
    String status = list.get(0).replaceAll(regex, "$2");

希望对你有帮助。

【讨论】:

  • 嗨@Alext 我修改了我的问题!
  • 这将返回所有文本 2014-06-20 [txt1:executed] 但我想将 2014-06-20 拆分为 arr[0] 和 executedarr[1] 和第二个元素这样。
  • 嗨@userY,我已经改变了我的答案。我希望这个答案适合你。
  • 嗨,谢谢@Alex,这个完美解决了我的问题。
  • 嗨@userY,不客气。我刚刚在正则表达式中看到了一个小错误。我再次改进了代码。现在可以了。
猜你喜欢
  • 2017-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2013-07-21
  • 2018-02-16
相关资源
最近更新 更多