Я как бы новичок в Java. Я хотел бы знать, есть ли еще более простой, но эффективный способ реализовать следующее разделение строки. Я пробовал с шаблоном и совпадением, но на самом деле не так, как хочу.Разбиение строк на {} & []
"{1,24,5,[8,5,9],7,[0,1]}"
быть разделены на:
1
24
5
[8,5,9]
7
[0,1]
Это совершенно неверный код, но я все равно я отправляю его:
String str = "{1,24,5,[8,5,9],7,[0,1]}";
str= str.replaceAll("\\{", "");
str= str.replaceAll("}", "");
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher(str);
String[] test = new String[10];
// String[] _test = new String[10];
int i = 0;
String[] split = str.split(",");
while (matcher.find()) {
test[i] = matcher.group(0);
String[] split1 = matcher.group(0).split(",");
// System.out.println(split1[i]);
for (int j = 0; j < split.length; j++) {
if(!split[j].equals(test[j])&&((!split[j].contains("\\["))||!split[j].contains("\\]"))){
System.out.println(split[j]);
}
}
i++;
}
}
с заданным форматом Струнный позволяет говорить {а, b, [c, d, e], ...}. Я хочу заручиться всем содержимым, но те, что указаны в квадратных скобках, должны быть обозначены как один элемент (например, массив).
Не могли бы вы разместить код вы пробовали уже? –
Это данные GSON? –
@AndrewThompson Почему это название? OP никогда не говорил, что хочет разбить на многомерный массив int, он сказал, что просто хочет разбить строку ... – BackSlash