본문 바로가기

String클래스에서의 특수문자 처리 정리

by 애덤더미 2014. 9. 15.
반응형

1. []로 감싸야 문자 자체로 인식되는 것들

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

2. \를 붙여야 하는 특수 문자

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

3. 자바에서 특수 문자는 \를 사용

  • " ⇒ \"

4. 나머지 부호들은 특별한 처리가 필요 없음 (확인된 것)

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

예시:

특수 문자를 제거하는 코드

다음 문자열에서 특수 문자를 제거하는 예시입니다.

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

 

특수 문자 필터링 함수

특수 문자를 제거하는 함수 예시:

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

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

    return str; 
}

 

StringTokenizer를 사용한 문자열 대체 방법

import java.util.StringTokenizer;

public class WebUtil {
    // 문자열 변환  예시: "abc"에서 "c"를 제거
    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;
    }
}
반응형