Я должен заменить все запятые между двойными кавычками на точки.
Я пытаюсь сделать это с помощью метода replace и replaceAll в Java. Но я все еще не выбрал решение.
Кто-нибудь может мне помочь?
EDIT:
Я должен вручную разобрать файл CSV для объекта. Поэтому я пытаюсь разбить строку на каждую строку ввода, но внутри одного числа запятая, поэтому я получаю больше данных, чем нужно для разделения.
Пример: я должен разделить эту строку.
"" "LASER MEDIA SOCIETA 'COOPERATIVA" "", CNF146010, FM (S), PIAZZA UMBERTO I - PISTICCI, MT, 40N2323,16E3328,383 ,, "99,1", CITY RADIO, "H: - -V: 32 дБВт ", 0,0
Обратите внимание, что у меня есть "99,1", и "до этого" доставляют мне неприятности.
Scanner var = new Scanner(new BufferedReader(new FileReader ("t1.csv")));
ArrayList<Catasto> obj = new ArrayList();
String data = var.nextLine();
String data2 = null;
String full = null;
int j = 0;
while (var.hasNextLine()) {
data = var.nextLine();
data2 = var.nextLine();
full = data + data2;
//full = full.replaceAll("\"*[,]*\"", "."); attempt 1
System.out.println(full);
ArrayList<String> parts = new ArrayList();
String[] parti = full.split(",");
//for (int i = 0; i<parti.length; i++) { this is because I'm trying to change empty string with a null
//if (parti[i] == " ") in order to solve this error: java.lang.NumberFormatException: For input string: ""
// parti[i] = null;
//}
for (int i = 0; i<12; i++) {
parts.add(parti[i]);
}
Catasto foo = new Catasto(parts);
obj.add(foo);
}
var.close();
РЕДАКТИРОВАТЬ 2:
Я решил проблему запятой между двойными кавычками. Но я не знаю, почему ошибка: java.lang.NumberFormatException: для входной строки: ""