替换数组

时间:2015-06-09 10:09:57

标签: java

我有一个这样的数组:["one", two"]

如果我array.toString().replace("[", "").replace("]", "").trim();, 我会:"one, two"

我真正想要的是"one", "two"

我该怎么做?

修改

这是一个解释我问题的简单程序:

 ArrayList<String> array = new ArrayList<>();

    array.add("one");
    array.add("two");

    String stringArray = array.toString().replace("[", "").replace("]", "");

    Gson gson = new Gson();
    String json = gson.toJson(stringArray);
    System.out.println(json);

2 个答案:

答案 0 :(得分:1)

您可以尝试使用

array.stream().map(s->"\""+s+"\"").collect(Collectors.joining(", "));

首先用引号括住每个字符串,然后使用,

连接它们

对于Java 7

String delimiter = ", ";
StringBuilder sb = new StringBuilder();

if (!array.isEmpty()) {
    sb.append('"').append(array.get(0)).append('"');
}
for (int i = 1; i < array.size(); i++) {
    sb.append(delimiter).append('"').append(array.get(i)).append('"');
}

String result = sb.toString();

答案 1 :(得分:0)

好吧,只需用额外的array.toString().replace("[", "").replace("]", "").trim().replace(", ", "\", \"") 替换逗号

Snackbar.make(findViewById(R.id.root_layout), result, Snackbar.LENGTH_LONG)
        .setAction("Dismiss", new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        }).show();

(未经测试,但你明白了)