Hallo,
meine Frage bezieht sich auf den String "case2" im Folgenden Code.
A;B;C;D;E
A;B;C;D;E
A;B;C;D;E
-case2 ist ein 3 zeiliger String getrentt mit \n
-Jede Zeile hat Werte getrennt mit einem ;
Man könnte sich das als eine Tabelle mit 3 Zeilen und 5 Spalten vorstellen.
Aufgabe: Lösche die 2 Spalte
Beim Anwenden von Regex auf case2 ist aktuell immer die letzte Zeile betroffen.
Wie kann ich aber den gesamten String (=Multiple Line) den RegEx anwenden.
Am Ende möchte ich folgendes Ergebnis haben.
A;C;D;E
A;C;D;E
A;C;D;E
Das ist der aktuelle Code:
Das bekomme ich aktuell als Ergebnis.
meine Frage bezieht sich auf den String "case2" im Folgenden Code.
A;B;C;D;E
A;B;C;D;E
A;B;C;D;E
-case2 ist ein 3 zeiliger String getrentt mit \n
-Jede Zeile hat Werte getrennt mit einem ;
Man könnte sich das als eine Tabelle mit 3 Zeilen und 5 Spalten vorstellen.
Aufgabe: Lösche die 2 Spalte
Beim Anwenden von Regex auf case2 ist aktuell immer die letzte Zeile betroffen.
Wie kann ich aber den gesamten String (=Multiple Line) den RegEx anwenden.
Am Ende möchte ich folgendes Ergebnis haben.
A;C;D;E
A;C;D;E
A;C;D;E
Das ist der aktuelle Code:
Java:
package main;
public class CsvColumnRemoverTest {
public static void main(String[] args) {
String case1 = "A;B;C;D;E";
String case2 = "A;B;C;D;E" + "\n";
case2 += "A;B;C;D;E" + "\n";
case2 += "A;B;C;D;E";
// ------------------------------------------------------------------------------
System.out.println("#Before");
System.out.println(case1);
System.out.println();
System.out.println(case2);
// replacement
case1 = case1.replaceAll("([^<]*);([^<]*);([^<]*);([^<]*);([^<]*)", "$1;$3;$4;$5");
case2 = case2.replaceAll("([^<]*);([^<]*);([^<]*);([^<]*);([^<]*)", "$1;$3;$4;$5"); // <= what do I need to add here, so that all lines are processed
// ------------------------------------------------------------------------------
System.out.println();
System.out.println("#After");
System.out.println(case1);
System.out.println();
System.out.println(case2);
}
}
Das bekomme ich aktuell als Ergebnis.
Java:
#Before
A;B;C;D;E
A;B;C;D;E
A;B;C;D;E
A;B;C;D;E
#After
A;C;D;E
A;B;C;D;E
A;B;C;D;E
A;C;D;E