Mehrere Trennzeichen in der Scanner-Klasse von Java
Wie verwende ich die useDelimiter()
Methode der Scanner
Klasse, die sowohl das Komma (,) und das neue-Zeile-Zeichen (\n) als Trennzeichen?
Ich bin Parsen von text aus einer csv-Datei.
InformationsquelleAutor tomejuan | 2011-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausgabe
InformationsquelleAutor Jigar Joshi
Wie etwa
useDelimiter(",|\\n");
Es entweicht aus dem zweiten \. Regex verwenden \n bedeutet "newline" aber so macht Java so schreiben Sie \\n die übersetzt wird, zu \n für die regex.
Frage mich, warum tomejuan nicht darauf reagieren. Vielleicht "maskiert", "regex" oder der Erklärung über das zweite '\'.
InformationsquelleAutor Andrew White
useDelimiter nimmt ein regex-pattern, also, es wäre so etwas wie
",|\n"
InformationsquelleAutor adrianboimvaser
Jigar ist absolut richtig.
Aber wenn es nicht funktioniert, versuchen Sie
",|\\r"
da die meisten text-Dateien haben \r\n anstelle von nur \n
InformationsquelleAutor Orange
Mithilfe des Scan-Trennzeichen für Excel-Dateien - übersehen Sie nicht die RegEx-Sache.
In meinem Fall die excel-Datei ist delimitedby '|'.
Ich habe die Ausgaben erhebliche Zeit zum Parsen der Zeilen mit scanner.useDelimiter("|"), und kam zurück von Zeichen. Austauschen, dass mit scanner.useDelimiter("\\|") hat mein Problem gelöst!
InformationsquelleAutor Gil Shapir