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

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

Susan Sarandon
Susan Sarandon원래의
2024-11-29 07:47:10183검색

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

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

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

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

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

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

문자열이 JavaScript 컨텍스트에서 사용하기 위한 것이라면 더 많을 수 있습니다. StringEscapeUtils#escapeEcmaScript()를 사용하여 더 넓은 범위의 문자를 처리하는 데 적합합니다.

위 내용은 Java 문자열에서 단일 백슬래시를 이중 백슬래시로 올바르게 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.