Fheler in String.replaceAll

Hi,

ich habe ein CSS-File, das durch ein Script generiert wird und deshalb ohne Zeilenumbrüche auskommt.

Ich will das Teil in eine lesbare Form machen und habe mir ein kleines Programm geschrieben, wo ich an der entsprechenden Position Zeilenumbrüche und Tabstobs einfüge:

String zeile; 
while ((zeile = br.readLine()) != null)
{
 String z1 = zeile.replaceAll("}", "}\n\n");
 z1 = z1.replaceAll("{", "{\n\t");
 z1 = z1.replaceAll(";", ";\n\t");
 bw.write(z1);
}

Leider meckert er immer in der Zeile

z1 = z1.replaceAll("{", "{\n\t");

mit folgender Exception:

java.util.regex.PatternSyntaxException: Illegal repetition
{
 at java.util.regex.Pattern.error(Pattern.java:1528)
 at java.util.regex.Pattern.closure(Pattern.java:2545)
 at java.util.regex.Pattern.sequence(Pattern.java:1656)
 at java.util.regex.Pattern.expr(Pattern.java:1545)
 at java.util.regex.Pattern.compile(Pattern.java:1279)
 at java.util.regex.Pattern.(Pattern.java:1035)
 at java.util.regex.Pattern.compile(Pattern.java:779)
 at java.lang.String.replaceAll(String.java:1663)
 at CssConv.main(CssConv.java:36)

Was ich mir nicht erklären kann, da ja das mit dem „;“ genauso funktioniert.

Hat wer ne Ahnung und kann helfen?

Besten Dank

Winni

Hallo.

ich habe ein CSS-File, das durch ein Script generiert wird und
deshalb ohne Zeilenumbrüche auskommt.

…was es so alles gibt :wink:

Ich will das Teil in eine lesbare Form machen und habe mir ein
kleines Programm geschrieben, wo ich an der entsprechenden
Position Zeilenumbrüche und Tabstobs einfüge:

String zeile;
while ((zeile = br.readLine()) != null)
{
String z1 = zeile.replaceAll("}", „}\n\n“);
z1 = z1.replaceAll("{", „{\n\t“);
z1 = z1.replaceAll(";", „;\n\t“);
bw.write(z1);
}

Siehe http://www.galileocomputing.de/openbook/javainsel4/j…
(suche nach ‚replaceAll‘). Achtung: Java 1.5

Leider meckert er immer in der Zeile

z1 =
z1.replaceAll("{", „{\n\t“);

mit folgender Exception:

java.util.regex.PatternSyntaxException: Illegal repetition
{
at java.util.regex.Pattern.error(Pattern.java:1528)
at java.util.regex.Pattern.closure(Pattern.java:2545)
at java.util.regex.Pattern.sequence(Pattern.java:1656)
at java.util.regex.Pattern.expr(Pattern.java:1545)
at java.util.regex.Pattern.compile(Pattern.java:1279)
at java.util.regex.Pattern.(Pattern.java:1035)
at java.util.regex.Pattern.compile(Pattern.java:779)
at java.lang.String.replaceAll(String.java:1663)
at CssConv.main(CssConv.java:36)

Was ich mir nicht erklären kann, da ja das mit dem „;“ genauso
funktioniert.

Hat wer ne Ahnung und kann helfen?

Also hier dürfte das ganze Projekt eher weiterhelfen.

HTH
mfg M.L.

Hi Markus,

Hallo.

ich habe ein CSS-File, das durch ein Script generiert wird und
deshalb ohne Zeilenumbrüche auskommt.

…was es so alles gibt :wink:

Ich will das Teil in eine lesbare Form machen und habe mir ein
kleines Programm geschrieben, wo ich an der entsprechenden
Position Zeilenumbrüche und Tabstobs einfüge:

String zeile;
while ((zeile = br.readLine()) != null)
{
String z1 = zeile.replaceAll("}", „}\n\n“);
z1 = z1.replaceAll("{", „{\n\t“);
z1 = z1.replaceAll(";", „;\n\t“);
bw.write(z1);
}

Siehe
http://www.galileocomputing.de/openbook/javainsel4/j…
(suche nach ‚replaceAll‘). Achtung: Java 1.5

Hat mit \ geklappt…

Leider meckert er immer in der Zeile

z1 =
z1.replaceAll("{", „{\n\t“);

mit folgender Exception:

java.util.regex.PatternSyntaxException: Illegal repetition
{
at java.util.regex.Pattern.error(Pattern.java:1528)
at java.util.regex.Pattern.closure(Pattern.java:2545)
at java.util.regex.Pattern.sequence(Pattern.java:1656)
at java.util.regex.Pattern.expr(Pattern.java:1545)
at java.util.regex.Pattern.compile(Pattern.java:1279)
at java.util.regex.Pattern.(Pattern.java:1035)
at java.util.regex.Pattern.compile(Pattern.java:779)
at java.lang.String.replaceAll(String.java:1663)
at CssConv.main(CssConv.java:36)

Was ich mir nicht erklären kann, da ja das mit dem „;“ genauso
funktioniert.

Hat wer ne Ahnung und kann helfen?

Also hier dürfte das ganze Projekt eher weiterhelfen.

HTH
mfg M.L.

Besten Dank…

Winni