모든 작은 따옴표를 이스케이프 처리 된 작은 따옴표로 바꾸려고합니다. 먼저 으로 시도했지만 작동하지 않았습니다. 그래서, 나는 노력한 StringUtils.replace(String, "\'", "\\'")
으로 시도했다.String.replaceAll()과 StringUtils.replace() 사이의 동작 차이점
String innerValue = "abc'def'xyz";
System.out.println("stringutils output:"+StringUtils.replace(innerValue, "\'", "\\'"));
System.out.println("replaceAll output:"+innerValue.replaceAll("\'", "\\'"));
예상 출력 :
stringutils output:abc\'def\'xyz
replaceAll output:abc\'def\'xyz
실제 출력 :
stringutils output:abc\'def\'xyz
replaceAll output:abc'def'xyz
여기
는 코드 나는 단지 궁금해.
String.replaceAll
이 '
을 \'
으로 대체하지 않는 이유는 무엇입니까?는
'String.replaceAll'은 백 슬래시가 특별한 의미를 갖는 정규 표현식을 사용합니다. 'reaplceAll' 대신에'replace'를 사용하십시오. –
힌트 : 표준 Java 라이브러리 호출이 ** 귀하의 ** 기대치와 일치하지 않을 때; 그렇다면 귀하의 기대는 ** 틀린 ** 것입니다. 쉽고 간단하게 해결할 수있는 방법은 RTFM입니다. 진지하게, 방법이 이것 또는 저것을한다라고 생각하지 마라. 그것의 javadoc을 읽으십시오. 또는 ** 새로운 질문을 작성하기 전에 **이 사이트를 ** 검색하는 것과 같은 사전 연구를하십시오. – GhostCat
[문자열 대체()와 replaceAll() 간의 차이] 가능한 복제본 (http://stackoverflow.com/questions/10827872/difference-between-string-replace-and-replaceall) – GhostCat