[Java] JAVA String 메소드중 Replace로 괄호()와 점.을 치환하려 할때

2021. 5. 20. 17:21모바일/Android_Java

String AA = "(주)티스토리";

 

String 메소드 중에서 substring의 경우에는 괄호를 잘찾아간다. 예시는 아래와 같다.

ex) AA.substring(0,1).equals("(")
 

그러나 replace의 경우에는 괄호에 대해서 처리가 되지 않는다. 그 이유는 String의 replaceAll 메소드가 내부적으로 regular expression을 사용하기 때문

점을 넣었을경우 모든 글자를 치환해버리는것도 위와 같은 이유이다.

 

문자라는 표시를 해줘야 하는데 \\를 붙여주면 된다. 예시는 아래와 같다.

ex) AA.replace("\\(", "BB");  

AA.replace("\\)", "BB");  

AA.replace("\\.", "BB");  

 

regex완벽정리 한번해야겠다