Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Problem:
=======
Habe eine Funktion geschrieben, die nichts anderes machen soll, als Texte nach "" zu durchsuchen
und alles was sich in diesen Hochkommas befindet löscht.
Code:
======
//Überprüft ob das gesuchte Zeichen in "" steht. z.B System.out.println("/");
private boolean isAusgabe(String... prefix){
int anfangKommentar = 0;
int endeKommentar = 0;
Code:
//Lösche alles in Hochkommas (" ").
while (line.contains("\"")) {
if (line.contains("\\")){
line = line.replaceAll("\\\\","d");
}
anfangKommentar = line.indexOf("\"");
endeKommentar = line.indexOf("\"",anfangKommentar+1);
String tline = line.substring(anfangKommentar,endeKommentar+1);
System.out.println(line + " => " +tline);
line = line.replaceAll(tline,"");
}
for (String l : prefix){
if (line.contains(l.toString())) { // jedes Kommentar startet mit einen Slash
return true;
}
}
return false;
}
Fehler tritt auf bei:
======================
System.out.println("\"); => lösung: line = line.replaceAll("\\\\","d");
System.out.println("("); =>...
System.out.println("+"); =>...
Jetzt müßte ich nur noch wissen bei welchen weiteren Zeichen Probleme entstehen.
Ich möchte bestimmte Informationen aus einer Java-Datei extrahieren.
Dazu müssen alle Informationen die in " " aufgeführt sind eliminiert werden.
z.B:
===
aus System.out.println("Hallo da drausen") sollte System.out.println() werden.
Das Problem:
=========
java.util.regex.PatternSyntaxException oder die While-Schleife terminiert nicht mehr.
Wenn ich versuche System.out.println("+") umzuwandeln.
Mein Gedanke zur Ursache des Problemes:
============================
Zeile 9 des Codes:
line = line.replaceAll(tline, "");
wird nicht korrekt ausgeführt.
Dies mag daran liegen, das
line = line.replaceAll("+", ""); nicht korrekt ist. Der Parameter müsste "\\+" sein.
Mein Lösungsvorschlag:
===============
Den String vorher auf bestimmte Zeichen (+,\, etc.) parsen und diese eliminieren bevor der replaceAll() aufruf kommt.
Dazu ist es erforderlich zu wissen, welche Zeichen weg müssen.