Учитывая, что вы, похоже, используете Java, я рекомендую воспользоваться String#split
здесь:
String values = "[52,52,73,52],[23,32],[40]";
String[] parts = values.split("(?<=\\]),(?=\\[)");
String[][] contents = new String[parts.length][];
for (int i=0; i < parts.length; ++i) {
contents[i] = parts[i].replaceAll("[\\[\\]]", "").split(",");
}
// now access any element at any position, e.g.
String forty = contents[2][0];
System.out.println(forty);
То, что генерирует приведенный выше фрагмент, представляет собой jagged 2D Java String array,где первый индекс соответствует массиву в исходном CSV, а второй индекс соответствует элементу внутри этого массива.