Muszę zastąpić \\
przez \
w Javie. Kod używam jestDlaczego otrzymuję wyjątek StringIndexOutOfBoundsException, gdy próbuję zastąpić `\` z ` '?
System.out.println((MyConstants.LOCATION_PATH + File.separator + myObject.getStLocation()).replaceAll("\\\\", "\\"));
Ale nie wiem, dlaczego to jest rzucanie StringIndexOutOfBoundsException
.
Mówi String index out of range: 1
Co może być przyczyną? Chyba dlatego, że pierwszy argument akceptuje wzorzec. Jakie może być możliwe rozwiązanie?
StackTrace
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:558)
at java.util.regex.Matcher.appendReplacement(Matcher.java:696)
at java.util.regex.Matcher.replaceAll(Matcher.java:806)
at java.lang.String.replaceAll(String.java:2000)
Odpowiedź Znaleziony
asalamon74 pisał kod I wymagane, ale nie wiem dlaczego on usunął go. W każdym razie tutaj jest.
Istnieje już bug zapisane w bazie danych błędów Javy. (Dzięki za odniesienie, asalamon.)
Co ciekawe, zarówno wyszukiwanie, jak i zamiana stringów są takie same :), ale wciąż robi to, czego wymagam.
Również należy File.separator isnt to? – Tom
Jaki jest wynik łączenia różnych pól, które posiadasz? – LB40
@LB c: \\ myDoc \\ hell \ o.txt –