1. 程式人生 > >Java中去除字串中的空格、回車、換行符、製表符等特殊字元

Java中去除字串中的空格、回車、換行符、製表符等特殊字元

在日常開發中,空格、回車、換行符等一些特殊字元經常會困擾著我們對於資料的比較,在存取的時候去除掉這些沒有意義的特殊字元就變得非常必要了。對於Java中的String.trim(),它只能去除掉字串前面和後面的空格一些簡單的特殊字元,如果有多個特殊字元的時候,效果非常差,這樣就需要我們用一些特殊的方法來進行相應的處理了,這裡我們介紹的是通過正則表示式的方式來進行字串中特殊字元的處理。

首先,我們科普一下正則表示式中的一些特殊字元的表示方法:

\\ 反斜槓

\t 空格 ('\u0009')

\n 換行 ('\u000A')

\r 回車 ('\u000D')

\d 數字等價於[0-9]

\D 非數字等價於

[^0-9]

\s 空白符號 [\t\n\x0B\f\r]

\S 非空白符號 [^\t\n\x0B\f\r]

\w 單獨字元 [a-zA-Z_0-9]

\W 非單獨字元 [^a-zA-Z_0-9]

\f 換頁符

\e Escape

...

接下來,我們就來實現去除這些特殊字元的一個方法:

/**
     * 去除字串中的空格、回車、換行符、製表符等
     * @param str
     * @return
     */
    public static String replaceSpecialStr(String str) {
        String repl = "";
        if (str!=null) {
            Pattern p = Pattern.compile("\\s*|\t|\r|\n");
            Matcher m = p.matcher(str);
            repl = m.replaceAll("");
        }
        return repl;
    }

上面的方法是去除字串中的空格、回車、換行符、製表符這些特殊字元,如果需要去除其它的一些特殊字元,只要在正則表示式中把相應的特殊字元加入進去就好了