【问题标题】:Convert String in Array form to String Array [duplicate]将数组形式的字符串转换为字符串数组[重复]
【发布时间】:2016-06-24 15:43:35
【问题描述】:

假设我有一个包含三个字符串的字符串,如下所示:

String s = "[object1,object2,object3]";

如何将其转换为如下所示的字符串数组:

String[] ary = {"object1", "object2", "object3"};

另外请注意,每个字符串项(object1、object2 和 object3)还可能包含额外的逗号(,)字符。

【问题讨论】:

  • 这些只是字符串值 ("object1") 还是代表变量名?
  • @SotiriosDelimanolis 只是字符串值。
  • @Zeromus 我拒绝了您的编辑建议,原因有两个:将项目更改为“a”、“b”和“c”没有帮助,并且称它们为“字符”也具有误导性,因为每个item 不仅仅是一个字符。但很高兴看到您愿意帮助改进此页面上的问题。请继续这样做。

标签: java arrays string type-conversion


【解决方案1】:

只需使用split 方法String[] str = s.split(","); 如果你想要 "[ ]" 使用 string.replace 方法将 "[]" 替换为 ""

【讨论】:

  • 要么这个要么使用正则表达式
  • @Zeromus 好的,但是如果我的字符串已经包含像“,”这样的逗号怎么办?假设我已经将一个数组(将 jsons 转换为字符串)转换为字符串,然后我想将其转换回来?
  • @MarkTyers 那么显然不可能拆分这些字符串。
  • @MarkTyers 你的意思是“object,1,object,2,object,3”然后汤姆说是不可能的。你需要清楚你想用这个实现什么
  • @MarkTyers “假设我已经将一个数组(jsons转换为字符串)转换为字符串,然后我想将其转换回来?” 如果这是你问这个问题的真正原因,然后在问题中说出来并提供一个适当的例子?这将为您的用例提供更好的答案。
【解决方案2】:

我假设你不想要外部的[],你可以使用替换/拆分或子字符串/拆分

String myArray[] = s.replace("[","").replace("]","").split(",");

或者

String myArray[] = s.substring(1, s.length() -1 ).split(",");

【讨论】:

    【解决方案3】:

    查看下面的代码和 cmets 来解释它们的作用。

    s = s.replace("[","").replace("]},""); //remove the brackets
    String[] ary = s.split(",");           //split the string around commas
    

    【讨论】:

      【解决方案4】:

      在你的情况下做你可以做的事情

      String[] ary = s.substring(1, s.length() -1).split(",");
      

      如果没有“[”和“]”就去掉子串调用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-05
        • 1970-01-01
        • 2020-07-21
        • 2021-08-20
        • 2017-11-27
        • 1970-01-01
        相关资源
        最近更新 更多