# Regex zum löschen vom unnötigen whitespace



## 0x7F800000 (13. Mrz 2009)

Hey Leute.
Entschuldigt die dämliche Frage, aber ich krieg's grad nicht hin:

```
\{\p{Blank}*\n\p{Blank}*([^\n]*)\p{Blank}*\n\p{Blank}*\}
```
Warum wird dadurch

```
{
    blup();
}
```
nicht erkannt? :autsch:

...ja, ich weiß dass man bei eclipse diesen benutzer-definierten formatter einstellen kann, aber der scheint mir nicht mächtig genug zu sein

...und ja, ich weiß dass es hier zumindest mal vor zwei jahren gefragt wurde, aber ich hab's bei der suche irgendwie nicht entdeckt [wenn euch ein gutes stichwort einfällt, oder ihr gar den link wieder ausgräbt: ist sicher willkommen]

..und ja, ich hab's auf die einfache art und weise versucht, und mich interessiert jetzt, warum's denn nicht klappt? :bahnhof:


----------



## SlaterB (13. Mrz 2009)

2500 Postings, aber sich zu schade, ein Testprogramm zu posten,
naja, die Mathematiker eben 


```
public class Test extends Frame {

    public static void main(String argv[]) throws Exception {

        String st = "{\n    blup();\n}";
        String pattern = "\\{\\p{Blank}*\n\\p{Blank}*([^\n]*)\\p{Blank}*\n\\p{Blank}*\\}";
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(st);
        System.out.println(m.find() + " - " + m.group());
    }
}
```
läuft, Thema verfehlt, vielleicht beim Einlesen irgendwas \n\r oder so


----------



## 0x7F800000 (13. Mrz 2009)

Erledigt. Hab "Blank" mit "Space" verwechselt.

Oh, sorry Slater, dass ich dich hier mit diesem blödsinn belästige. 
Für testprogramm war ich wirklich zu faul: das ist ja nicht für's programm, ich habs für find/replace in eclipse gebrauchen wollen [und würde das übrigens auch sonst empfehlen: das direkt bei eclipse einzugeben ist einfacher, als testprogramm zu erstellen, und da stören die ganzen doppelt-maskierungen erstmal nicht]

Das war wohl echt ein "\r" irgendwo, der von Blank nicht erfasst wird.

Aber danke für deine Zeit.

[edit] also, so läuft es:
find:

```
\{\p{Space}*\n\p{Space}*([^\n\r]*)\p{Space}*\n\p{Space}*\}
```
replace:

```
\{\t$1\t\}
```
Damit kann man die ganzen lästigen getter-setter, die auf drei zeilen verteilt werden, schnell & selektiv in eine zeile komprimieren.
Ist jetzt vielleicht eine sehr brutale Lösung, aber es ist imho auf die Schnelle besser, als sich mit der Konfigurierung des Formatters rumzuschlagen.


----------



## 0x7F800000 (13. Mrz 2009)

Ne, das Häckchen find ich jetzt echt nirgends? (ó_Ò)? Themenoptionen? Ne.. Wo isn das hin...


----------



## SlaterB (14. Mrz 2009)

gibts derzeit nicht, und Eclipse also, da brauch ich ja gar nicht testen,
wenn dort ein Pattern a einen Buchstaben a nicht findet, wüßte ich gar nicht wieso,

lieber Java, da kann man alles bis aufs letze Bit verfolgen, sofern keine nativen Methoden beteiligt sind


----------

