[SOLVED]Java reg exp Frage

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/solvedjava_reg_exp_frage_214234/page_1 - zur Vollversion wechseln!


sensei schrieb am 17.02.2010 um 10:27

Ahoi,

Ich hab einen String input:
" 014 | Person1 || 051 | Person2 || 037 | Person3 || 033 | Person4 |....."

den ich gerne mittels split methode geteilt hätte:
String[] persons = input.split("||");

das funktioniert ja natütlich nicht.

gibts ne Möglichkeit die pipes als quasi normale characters zu kennzeichnen?

tia!


COLOSSUS schrieb am 17.02.2010 um 10:42

Nichtterminalzeichen escapest du (vermutlich auch in Java) mit "\"

Code:
String[] persons = input.split("\|\|");


JC schrieb am 17.02.2010 um 10:50

In Java also so, wenn ich mich nicht täusche:

Code:
String[] persons = input.split("\\|\\|");


sensei schrieb am 17.02.2010 um 10:55

Danke an euch beide!

funktioniert so!

(JC hat die für Java richtig Syntax)


-=Willi=- schrieb am 25.02.2010 um 18:21

Zitat von JC
In Java also so, wenn ich mich nicht täusche:

Code:
String[] persons = input.split("\\|\\|");

Kurze Frage: Warum funktioniert "\\|" und "\|" nicht?


Luzandro schrieb am 25.02.2010 um 19:44

Damit du als regulären Ausdruck "\|" erhältst, musst du beim String den Backslash noch einmal escapen, da es sonst als Escape-Sequence des Strings angesehen wird. Sowas wie raw strings gibt es in Java afaik nicht (?)


-=Willi=- schrieb am 25.02.2010 um 21:03

Also einmal für Java escapen und das zweite Mal für die RegEx. Alles klar.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025