"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java 문자열에서 단일 백슬래시를 이중 백슬래시로 올바르게 바꾸는 방법은 무엇입니까?

Java 문자열에서 단일 백슬래시를 이중 백슬래시로 올바르게 바꾸는 방법은 무엇입니까?

2024년 12월 22일에 게시됨
검색:848

How to Properly Replace Single Backslashes with Double Backslashes in Java Strings?

문자열에서 단일 백슬래시를 이중 백슬래시로 바꾸기

replaceAll을 사용하여 "\something\"과 같은 문자열을 "\로 변환하려고 할 때 뭔가\", 개발자는 종종 오류에 직면합니다. replacementAll("\", "\\") 메소드를 사용하는 일반적인 접근 방식에서는 "java.util.regex.PatternSyntaxException: 인덱스 1 근처의 예기치 않은 내부 오류" 예외가 발생합니다. 이는 백슬래시() 문자가 문자열과 정규식 모두에서 이스케이프 문자로 처리되기 때문에 발생합니다. 이 문제를 해결하려면 정규 표현식에서 백슬래시를 두 배로 늘려서 이스케이프 처리하세요.

string.replaceAll("\\\\", "\\\\\\\\");

그러나 여기서 정규 표현식이 항상 필요한 것은 아닙니다. 문자별로 바꾸기만 수행하려고 하므로 String#replace()로 충분할 수 있습니다.

string.replace("\\", "\\\\");

문자열이 JavaScript 컨텍스트에서 사용되도록 의도된 경우 StringEscapeUtils#escapeEcmaScript()를 사용하여 더 넓은 범위의 문자를 처리하는 것이 더 적합할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3