2011-12-09 2 views
2

java에서 문자열을 슬래시로 바꾸는 간단한 코드 조각을 찾고 있습니다."/"를 "/"로 변경하십시오.

나는 이것을 시도했다 : word.replaceAll ("\", "/");

하지만 작동하지 않습니다. 누구든지이 문제를 빨리 해결할 수 있습니까?

감사합니다.

P. 나는 또한 문자열 작업이 거의 작동하지 않는다는 사실을 눈치 채 셨습니다. toUpperCase()와 같은 것을 시도했지만 문자열에 아무 것도 발생하지 않았습니까?!?

+0

은 변경하지 않도록 String 클래스는 불변으로 모든 백래쉬를 대체하여 작동합니다. 항상 변경 사항이 적용된 새 사본을 반환합니다. –

답변

4

replaceAll(),이 경우에 사용하는 잘못된 방법이다.

리터럴을 대체하는 더 간단한 replace() 메서드가 필요합니다. 이 시도 :

word = word.replace("\\","/"); 

참고 :

  1. 을 당신은 다른 백 슬래시 백 슬래시를 탈출해야, 즉 "\\"하면 단일 백 슬래시를하는 문자열을 코딩하는 방법입니다
  2. 문자열 immutable 있습니다 - 문자열 방법 문자열을 반환하십시오 ... 그들은 변경 문자열. 당신이 문자열이 불변입니다 myString = myString.someMethod();
+0

완벽! 그것은 지금 완벽하게 작동합니다. 고맙습니다! – intA

+0

@ user1088796 문제가 해결되면 대답을 수락해야합니다. – Laf

4

함수는 문자열 자체를 변경하지 않고 구현하려고하는 변경 사항과 함께 새 문자열을 반환합니다. 그것은를 호출하는 문자열을 변경하지 않고,

word.replaceAll(("\\", "/"); 

toUpperCase()반환 문자열을 다음 \ 경우에 당신은 당신이 사용해야합니다이 경우 이스케이프 슬래시 (\\)

+0

죄송합니다. 원래 질문에 입력 할 내용 이니, 사용하는 함수는 다음과 같습니다. word.replaceAll ("\\", "/"); – intA

1

처럼 코딩해야하는 이유입니다.
절대로 바꿀 수 없습니다.

word = word.something()으로 작성해야합니다.

1

word = word.replaceAll ("\", "/");

문자열을 변경할 수 없다는 것을 알아야합니다.

그 방법은 문자열의 문자 반복 및 슬래시

관련 문제