본문 바로가기
IT 개발관련

[Escape Character]Java에서 특수기호 처리방법

by 현혜사랑 2022. 7. 4.
728x90

프로그래밍 할때 오라클 PL/SQL나 JAVA 나....랭귀지 별로 예약어를 스트링으로 사용할때 곤혹스럽다..



오라클에서 "를 입력하기 위해서는 """" 이렇게 4개를 병기해줘야 하듯....자바에서는 \" 백슬래쉬를 붙이면 된다...이러한 특수문자입력을 위해서 입력하는 문자를 Escape Character라고  부른다. 자세한것은 아래 참조

=====================================================================================================



1. []으로 싸주면 문자자체로 인식하는 것들. 

*  ⇒ [*] 
+  ⇒ [+] 
$  ⇒ [$] 
|  ⇒ [|] 


2. \\를 붙여줘야 하는 것들. 

( ⇒ \\( 
) ⇒ \\) 
{ ⇒ \\{ 
} ⇒ \\} 
^ ⇒ \\^ 
[ ⇒ \\[ 
] ⇒ \\] 


3. 자바의 특수문자는 \을 쓴다. 

 " ⇒ \" 


4. 나머지 부호들은 괜찮은 듯 하다. 
확인된 것. 

! # % & @ ` : ; - . < > , ~ ' 

반응형



ex ) 위에 놈들 다 지워 보자. 

    String c = "!\"#$%&(){}@`*:+;-.<>,^~|'[]"; 
    c = c.replaceAll("!\"#[$]%&\\(\\)\\{\\}@`[*]:[+];-.<>,\\^~|'\\[\\]", ""); 




 public static String getSTRFilter(String str){ 
  int str_length = str.length(); 
  String strlistchar   = ""; 
  String str_imsi   = "";  
  String []filter_word = {"","\\.","\\?","\\/">\\~","\\!","\\@","\\#","\\$","\\%","\\^","\\&","\\*","\\(","\\)","\\_","\\+","\\=","\\|","\\\\","\\}","\\]","\\{","\\[","\\\"","\\'","\\:","\\;","\\<","\\,","\\>","\\.","\\?","\\/"}; 

  for(int i=0;i<filter_word.length;i++){ 
   //while(str.indexOf(filter_word[i]) >= 0){ 
      str_imsi = str.replaceAll(filter_word[i],""); 
      str = str_imsi; 
   //} 
  } 

  return str; 

 } 


아님 replace가 안 먹을때는 이런방법도..^^ 
import java.util.StringTokenizer; 

public class WebUtil 

           // 문자열 변환  String a= "abc" => replace(a, "c") => a : ab 
           public String strReplace(String s1, String s2){ 
                      String res = ""; 
                      StringTokenizer str = new StringTokenizer(s1, s2); 


                       while(str.hasMoreTokens()){ 
                                     res += str.nextToken();   
                               System.out.println(res); 
                       } 
               return res; 
           } 
}

728x90
반응형

댓글