replaceFirst dla znaku "|"

0

hej mam problem wydajne mi się że metoda replaceFirst z klasy String działa nieprawidłowo...
przykład z jakim mam problem to

String p="|x|";
String h=p.replaceFirst("|", "A" );

po czym wartość h to nie "Ax|" ale "A|x|" !!
w czym problem? replaceAll zachowuje się analogicznie..

0

p.replaceFirst("\|", "A");
| to specjalny znak w regexach, a replaceXXX wlasnie na regexach dzialaja. Musisz zastosowac 'znak ucieczki' czyli , przy czym \ to w javie rowniez znak ucieczki w stringach / characterach, wiec aby go przemycic do regexa musisz uzyc \ ;-) wiem ze troche zakrecone ale dziala.

0

ooo dzięki

0

Jest jeszcze metoda replace(...), która działa na Stringach a nie na wyrażeniach regularnych.

0

Jest jeszcze metoda replace(...), która działa na Stringach a nie na wyrażeniach regularnych.

0

Jest jeszcze metoda replace(...), która działa na Stringach a nie na wyrażeniach regularnych.

0

Proszę o wyrzucenie powtarzających się postów. Dostawałem komunikat, że strona jest niedostępna i zakładałem, że post nie doszedł.

0

Albo w tym przypadku mozna dzialac tez replaceXXX z characterami.

0

tak ale mi zależało na replaceFirst oraz litera 'A' była tylko przykładowa musiałem zamienić na wyrażenie "A(" więc to była chyba najprostsza metoda

1 użytkowników online, w tym zalogowanych: 0, gości: 1