java正则表达式

参考http://blog.csdn.net/telnetor/article/details/6041323

http://www.runoob.com/java/java-regular-expressions.html

String str = ",.!,,D_NAME。!;‘’”“**dfs  #$%^&()-+1431221\"\"中           国123漢字かどうかのjavaを決定";
str = str.replaceAll("[\\pP\\pS\\pZ]", "");
System.out.println(str);
DNAMEdfs1431221中国123漢字かどうかのjavaを

Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。 
/pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

P:标点字符 
L:字母; 
M:标记符号(一般不会单独出现); 
Z:分隔符(比如空格、换行等); 
S:符号(比如数学符号、货币符号等); 
N:数字(比如阿拉伯数字、罗马数字等); 
C:其他字符

 

  1.  /**清除数字和空格*/  
  2.     public static  String cleanBlankOrDigit(String str){  
  3.         if(isBlankOrNull(str))return "null";  
  4.         return Pattern.compile("\\d|\\s").matcher(str).replaceAll("");  
  5.     }  
  6.   

 

 

public static final String REG_SPACE_PUNCTUATION = "(\\s)|(\\pP)";
List<News> news = newsDao.findNewsByComsOrInds(query);
// 所有的标点符号空格用空字符串替换后 再进行去重
TreeSet<News> newSet = new TreeSet<>((o1, o2) -> o1.getTitle().replaceAll(REG_SPACE_PUNCTUATION, "").compareTo(o2.getTitle().replaceAll(REG_SPACE_PUNCTUATION, "")));
newSet.addAll(news);
news = new ArrayList<>(newSet);

java里面\\s就是空格, \\pP代表标点符号。 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
/pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。
第一个 \ 是转义字符
用在上面的replaceAll 方法中 写第一个\ 就代表匹配正则表达式了



转载于:https://www.cnblogs.com/xiaolei2017/p/8028996.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值