http://mwultong.blogspot.com/2006/12/java-backslash.html
자바를 비롯한 C계열의 언어에서, 백슬래쉬(\) 문자는 이스케이프 문자이므로, 그 자체를 직접 표현하기 곤란합니다.
이때는 백슬래쉬(Backslash)를 이중으로 해주면 해결됩니다. 즉 "\" 를 "\\" 이렇게 하는 것입니다.
그리고 자바 정규식에서, 백슬래쉬 1개를 표현하기 위해서는 백슬래시를 4개 적어주면 됩니다.
아래 예제에서 replaceAll() 메소드(함수)는, 정규식을 파라미터로 입력받기에 4개로 표현했습니다.
파일명: Foo.java
자장면\짬뽕
이라는 원본 문자열에서, "\"를 "ABC" 와 "ZZZ" 로 바꾸는 방법입니다
public class Foo {
public static void main(String[] args) {
String s = "자장면\\짬뽕"; // 원본 문자열 정의
String s2;
System.out.println(s); // 원본 문자열 출력: 자장면\짬뽕
/////////////////////////////////////////
// 백슬래쉬 문자열 치환
/////////////////////////////////////////
s2 = s.replace("\\", "ABC");
System.out.println(s2); // 출력 결과: 자장면ABC짬뽕
s2 = s.replaceAll("\\\\", "ZZZ");
System.out.println(s2); // 출력 결과: 자장면ZZZ짬뽕
}
}
자바를 비롯한 C계열의 언어에서, 백슬래쉬(\) 문자는 이스케이프 문자이므로, 그 자체를 직접 표현하기 곤란합니다.
이때는 백슬래쉬(Backslash)를 이중으로 해주면 해결됩니다. 즉 "\" 를 "\\" 이렇게 하는 것입니다.
그리고 자바 정규식에서, 백슬래쉬 1개를 표현하기 위해서는 백슬래시를 4개 적어주면 됩니다.
아래 예제에서 replaceAll() 메소드(함수)는, 정규식을 파라미터로 입력받기에 4개로 표현했습니다.
백슬래쉬(\; Back Slash) 치환 예제
파일명: Foo.java
자장면\짬뽕
이라는 원본 문자열에서, "\"를 "ABC" 와 "ZZZ" 로 바꾸는 방법입니다
public class Foo {
public static void main(String[] args) {
String s = "자장면\\짬뽕"; // 원본 문자열 정의
String s2;
System.out.println(s); // 원본 문자열 출력: 자장면\짬뽕
/////////////////////////////////////////
// 백슬래쉬 문자열 치환
/////////////////////////////////////////
s2 = s.replace("\\", "ABC");
System.out.println(s2); // 출력 결과: 자장면ABC짬뽕
s2 = s.replaceAll("\\\\", "ZZZ");
System.out.println(s2); // 출력 결과: 자장면ZZZ짬뽕
}
}