Frage zu Leerzeichen in regulären Ausdruck

Fulk

Mitglied
Hallo!

Ich habe einen String der folgendermaßen aussehen kann:
Code:
U   ProjektC/hello.java
A   ProjektA/was/huhu/search.sql

Ganz vorne steht also immer ein U, ein A oder ein D(hier nicht angegeben), gefolgt von 3 Leerzeichen und danach ein Pfad.
Ich möchte nun das erste Zeichen(also U,A,D) wegmachen und danach die Leerzeichen.

Ich verwende die Funktion replaceAll(), bekomme aber bei meinem Ausdruck nicht nur das führende A weg, sondern leider auch das A aus "ProjektA".
Meine Idee war nun, dass ich einfach statt "ersetze A" "ersetze A und das darauffolgende Leerzeichen" verwende.
Code:
replaceAll("[((U )|(A )|(D ))?\\s]"," ")

Das klappt aber auch nicht.
Hat jemand einen Tip für mich?
Danke!
 
Hallo,

hab ich richtig verstanden, dass du den ersten Buchstaben und die Leerzeichen entfernen möchtest?

Code:
replaceAll("(U|A|D)\\s+","");

MFG

Sascha
 
Also ich möchte als erstes die U, A bzw. D´s vor dem Pfad entfernen - ohne dabei andere U,A,D´s zu entfernen.

Erst danach möchte ich die Leerzeichen entfernen.
Habe mir diesen Weg überlegt, da der einziege Unterschied zwischen den U,A,D´vor dem Pfad und innerhalb des Pfades die nachkommenden Leerzeichen sind
(im Pfad folgt nach einem A immer ein Buchstabe - außer beim letzten z.B. hello.javA).
 
Wenn ich dich richtig verstanden habe, dann erzeug doch einfach einen Substring ab dem 4. Zeichn...

Code:
String neuerString = deinString.substring(3);
 
Code:
public class RegExExample
{

  /**
   * @param args
   */
  public static void main(String[] args)
  {
    String s = "U   ProjektC/hello.java\nA   ProjektA/was/huhu/search.sql";
    
    s=s.replaceAll("(U|A|D)\\s+","");

    System.out.println(s);
  }

}

Ausgabe
ProjektC/hello.java
ProjektA/was/huhu/search.sql

@Matze
Das funktioniert nur, wenn er jede Zeile in einem String hat. So wie ich ihn verstanden hab, steht alles in einem String und dann funktioniert es nicht.

MFG

Sascha
 
Liest du eigentlich meine Posts?

Ich hab dir doch einen Ausdruck gepostet.
Dieser besagt, dass A,D oder U mit einem oder mehreren folgenden Whitespaces entfernt werden sollen.

MFG

Sascha
 
Zurück