Как преобразовать строковый массив литерала в список массивов без кавычек

-7

Простой сценарий, но трудно найти -

моя строка -

String ipAdd =     "["2.2.2.2","1.1.1.1","6.6.6.6","4.4.4.4"]"

Я хочу иметь все элементы в списке массивов. Как я могу это сделать?

Я пытаюсь сопоставить шаблон для IP и всех, не работая и используя функцию split, он включает в себя кавычки и скобки.

спросил(а) 2016-03-24T11:47:00+03:00 3 года, 11 месяцев назад
0
78

Использование replaceAll() (для удаления фигурных скобок) и split() (для разделения на запятую) должно работать:

public static void main(String... args) throws Exception {
String ipAdd = "[\"2.2.2.2\",\"1.1.1.1\",\"6.6.6.6\",\"4.4.4.4\"]";
List<String> list = Arrays.asList(ipAdd.replaceAll("\\[|\\]", "").split(","));
for (String s : list){
System.out.println(s);
}

}

O/P:

"2.2.2.2"
"1.1.1.1"
"6.6.6.6"
"4.4.4.4"

ответил(а) 2016-03-24T12:02:00+03:00 3 года, 11 месяцев назад
-4

Следующий код может соответствовать вашему требованию:

public static void main(String[] args) {
String st = "[\"2.2.2.2\",\"1.1.1.1\",\"6.6.6.6\",\"4.4.4.4\"]";

String patternString1 = "(\\d\\.\\d\\.\\d\\.\\d)";

Pattern pattern = Pattern.compile(patternString1);
Matcher matcher = pattern.matcher(st);
ArrayList<String> list = new ArrayList<>();
while(matcher.find()) {
list.add(matcher.group(1));
}
for (String item : list) {
System.out.println("" + item);
}
}

Вы можете использовать регулярное выражение с группами захвата, чтобы извлечь IP из строки. (см. https://docs.oracle.com/javase/tutorial/essential/regex/groups.html)

ответил(а) 2016-03-24T11:57:00+03:00 3 года, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема