public static String EntferneKommentar(String text){
String lastStand="System.getProperty(\"line.separator\") macht Problemme ";
String ohneKom=new String(text.replaceAll("(?s)/\\*.*?\\*/",""));// RegEx für entferne Kommentare
String ohneBlanks=new String(ohneKom.replaceAll("[' ']{2,}"," "));// RegEx für entferne überflüssige //Leerzeichen
if(System.getProperty("line.separator").equals("\r\n")){
lastStand=ohneBlanks.replaceAll("[\r\n' ']{2,}","\r\n ");//RegEx für enferne Leerzeilen
}
else if(System.getProperty("line.separator").equals("\n")){
lastStand=new String(ohneBlanks.replaceAll("[\n' ']{2,}","\n "));
}
return lastStand;
}
@Dimax/* 1. Row comment
for(int i=0;i<temp.length()-13;i++){
temp4=temp.substring(i, i+4);
if(temp4.equals("DATA") && Pattern.matches("^DATA",temp4)) //Ob es am Zeilenanfang steht??
lass das besser, Du beherzigst meinen Ratschlag ja nichtum reines code ohne Kommentare,weil ich die Statistiken ausrechnen soll
Gebe zu das habe ich wahrscheinlich nicht korrekt verstanden.Würdest du bitte mit einfacheren Worten schreiben.@Dimax
wenn auch Kommentare berücksichtigt werden sollen, gar über mehrere Zeilen hin und mit reluctant....
Ansonsten: heißt das Zauberwort PARSEN.
In meinem Fall geht es hier wirklich nur um reines code ohne Kommentare,weil ich die Statistiken ausrechnen soll(anzahl_zeilen,Bytes of code usw.) und die Ausgangsdatei bleibt unverändert.Was mir noch fehlt, wie kann ich regex anwenden um herausfinden ob gesuchtes Wort am Zeilenanfang steht?
Hab gefunden das ^ für Zeilenanfang steht aber wie komme ich an boolean damit?
zmb ich suche wort "DATA" das soll aber am zeilenanfang stehen es können aber nur die Leerzeichen davor sein.
glaub nicht dass es so einfach funktionieren wird aber immerhin ein Versuch))Java:for(int i=0;i<temp.length()-13;i++){ temp4=temp.substring(i, i+4); if(temp4.equals("DATA") && Pattern.matches("^DATA",temp4)) //Ob es am Zeilenanfang steht??
"^\\s*DATA.*"
.if (temp.matches("^\\s*DATA.*")) {
//...
}