의 문자열에 내가교체 "^"자바
String slash_data=cap_data.replaceAll("/", "%2F");
그러나 "^"그것은 그 위치에 대체하지 않습니다의 교체시 사용하는 문자열의 다른 문자를 교체합니다.
String string_data="058000657^HELLO HI /"
String cap_data=string_data.replaceAll("^", "%5E");
무엇이 잘못 되었나요?
의 문자열에 내가교체 "^"자바
String slash_data=cap_data.replaceAll("/", "%2F");
그러나 "^"그것은 그 위치에 대체하지 않습니다의 교체시 사용하는 문자열의 다른 문자를 교체합니다.
String string_data="058000657^HELLO HI /"
String cap_data=string_data.replaceAll("^", "%5E");
무엇이 잘못 되었나요?
replaceAll
메서드는 리터럴 문자열이 아닌 정규 표현식을 사용하고 ^
은 "현재 줄 시작"을 나타내는 일반 표현식 기호입니다. 따라서 실제로는 ^
문자를 전혀 찾지 않습니다.
^
문자를 이스케이프 처리해야합니다 (시도 \\^
).
문자열의 단일 백 슬래시가 이스케이프 문자의 역할을하므로 ^
이 오는 단일 백 슬래시로 구성된 문자열이 필요하지만 소스에 단일 백 슬래시를 작성하는 방법 코드는 \\
입니다. 백 슬래시를 벗어나야하기 때문에 ...)
설명 주셔서 감사합니다 .. 지금 나는 그것을 얻었다. –
하지만 작동하지 않습니다 .. Reimeus 대답 작품 .. Logged –
^은 정규 표현식의 특수 문자입니다. 그것은 문자열의 시작을 의미합니다. 그래서 당신은 그것을 탈출해야 :
String cap_data=string_data.replaceAll("\\^", "%5E");
탈출은'replaceAll'는 정규식 ... – Tunaki
'문자열 capData = stringData.replace ("^", "%의 5E")를한다;'... – Reimeus
를 @ Reimeus 내가 했어, 나는 바보 야 : D 죄송합니다 – f1sh