2015-06-09 2 views
-4

У меня есть массив как это: ["one", two"]Заменить Кронштейны на массив

Если я array.toString().replace("[", "").replace("]", "").trim();, у меня будет: "one, two"

То, что я действительно хочу "one", "two"

Как я могу это сделать?

EDIT:

Это простая программа, чтобы объяснить, на мой вопрос:

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); 
+0

что такое, что вы хотите сделать? –

+1

'array [0]' и 'array [1]'? – npinti

+0

И обратите внимание, что это запутывает: '[" one ", two"] ' – moffeltje

ответ

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(); 
+0

Я использую jdk 1.7, а не 1.8 – Goldbones

+0

Вам нужно использовать 1.7? Сегодня Java 8 является стандартной версией. – Pshemo

+0

Да. Это одна из моих спецификаций ... – Goldbones

0

Ну, просто заменить запятой с некоторыми дополнительными " «ы

array.toString().replace("[", "").replace("]", "").trim().replace(", ", "\", \"") 

(Не тестировалось , но вы получите идею)

Смежные вопросы