Java正則表達式過濾並消除非法字符


package sd;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 
 * @author 大漢
 *
 */
public class P {

    public static void main(String[] args) {
        
        // 除了字母數字下划線之外的字符為非法字符
        Pattern pattern = Pattern.compile("[^a-zA-Z0-9]");
        // 指定設置非法字符
        // Pattern pattern = Pattern.compile("[@#]");
        String str = "123@abc     #D     EF";
        Matcher matcher = pattern.matcher(str);
        StringBuffer buffer = new StringBuffer();
        // 如果找到非法字符
        while (matcher.find()) {
            // 如果里面包含非法字符如冒號雙引號等,那么就把他們消去,並把非法字符前面的字符放到緩沖區
            matcher.appendReplacement(buffer, "");
        }
        // 將剩余的合法部分添加到緩沖區
        matcher.appendTail(buffer);
        System.out.println("您的輸入為: " + str);
        System.out.println("合法的輸出為: " + buffer.toString());
    }
}

顯示結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM