Guten Tag.
Ich bekomme in einer Methode einen String übergeben, der dann in viele Teilstrings getrennt werden soll. pro Teilstring sind Koordinaten, mehrere Zahlen und ein Name enthalten.
Dieser Name kann aber sehr variabel sein. Als Bsp: "22", "Mein Name", " §9:142:6 2,4" und noch viel mehr.
Also Bsp. hier ein übergebener String:
In diesen Beispielen ist der Name jeweils nur ein Buchstabe, aber das ist nur für Testzwecke.
Ein Teilstring soll dann also folgendermaßen aussehen:
Und davon werden dann halt ca 100 - 200 in dem übergebenen String enthalten sein.
Der reguläre Ausdruck sieht bisher so aus:
Nun habe ich ein Problem:
Ist es überhaupt möglich, für solch variable namen ein brauchbares Muster anzulegen?
(Mit dem \\w{1-50} wollte ich das Muster erstmal testen, bin also von einem zusammenhängenden Namen ausgegangen)
Als einziges würde mir einfallen, dort das Tabulatorzeichen als erstes Zeichen nach dem Namen zu definieren, aber in meinen Lernunterlagen http://openbook.galileocomputing.de hab ich da nix gefunden, wie ich das vernünftig darstellen kann.
Hab noch
gefunden, und mit nicht gierigen Operatoren würde sonst ja
gehen, aber es darf halt nur Tab gewertet werden und nicht das Leerzeichen.
Ich bekomme in einer Methode einen String übergeben, der dann in viele Teilstrings getrennt werden soll. pro Teilstring sind Koordinaten, mehrere Zahlen und ein Name enthalten.
Dieser Name kann aber sehr variabel sein. Als Bsp: "22", "Mein Name", " §9:142:6 2,4" und noch viel mehr.
Also Bsp. hier ein übergebener String:
Java:
9:142:6 95 15 W 67 33 9:142:8 95 18 B 82 34 9:258:1 77 6 S 6 26 9:258:2 87 6 B 6 28 9:258:3 82 6 W 6 26
Ein Teilstring soll dann also folgendermaßen aussehen:
Java:
9:142:6 95 15 Name 67 33
Und davon werden dann halt ca 100 - 200 in dem übergebenen String enthalten sein.
Der reguläre Ausdruck sieht bisher so aus:
Java:
Pattern patter = Pattern.compile(" [0-9]{1,3}:[0-9]{1,3}:[0-9]{1,3} [0-9]{1,5} [0-9]{1,5} \\w{1,50} [0-9]{1,5} [0-9]{1,5}");
Nun habe ich ein Problem:
Ist es überhaupt möglich, für solch variable namen ein brauchbares Muster anzulegen?
(Mit dem \\w{1-50} wollte ich das Muster erstmal testen, bin also von einem zusammenhängenden Namen ausgegangen)
Als einziges würde mir einfallen, dort das Tabulatorzeichen als erstes Zeichen nach dem Namen zu definieren, aber in meinen Lernunterlagen http://openbook.galileocomputing.de hab ich da nix gefunden, wie ich das vernünftig darstellen kann.
Hab noch
Java:
\t
Java:
\p{Graph}*\\t?
Zuletzt bearbeitet: