天天看點

判斷接收的資料中是否有中文

[\u4e00-\u9fa5]+ 比對一個或多個中文
[\u4e00-\u9fa5]  隻比對一個中文
它們并不比對¥%^&*等字元啊,做個簡單的測試就知道了。
import java.util.regex.*;
public class Test1 {
  public static void main(String[] args) {  
    Pattern p =Pattern.compile("[\u4e00-\u9fa5]+");
                               //下面就是你要比對的字元,如果中文可以測試用p.matcher("中");
    Matcher m =p.matcher("%");
    System.out.println(m.matches());
    }
    } 

輸出結果是false。      

rejson = model.toString();

// 判斷是否存在漢字,如果存在則進行轉換

Pattern p = Pattern.compile("[\u4e00-\u9fa5]");

Matcher m = p.matcher(rejson);

if (m.find()) {

// 對所有/進行轉義

rejson = rejson.replace("/", "\\/");

}