zoukankan      html  css  js  c++  java
  • 关于把标点符号弄没的体会

    	word = r.next().replaceAll("\p{P}", "");;
    

      

        /**
         * 该函数判断一个字符串是否包含标点符号(中文英文标点符号)。
         * 原理是原字符串做一次清洗,清洗掉所有标点符号。
         * 此时,如果原字符串包含标点符号,那么清洗后的长度和原字符串长度不同。返回true。
         * 如果原字符串未包含标点符号,则清洗后长度不变。返回false。
         * @param s
         * @return
         */
        public boolean check(String s) {
            boolean b = false;
     
            String tmp = s;
            tmp = tmp.replaceAll("\p{P}", "");
            if (s.length() != tmp.length()) {
                b = true;
            }
     
            return b;
        }
    

    上面的代码来源于网络

    str = str.replaceAll(“[pP‘’“”]”, “”);

    在这里利用的是Unicode编码,Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

    pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

    大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。 
    其他六个是 
    L:字母; 
    M:标记符号(一般不会单独出现); 
    Z:分隔符(比如空格、换行等); 
    S:符号(比如数学符号、货币符号等); 
    N:数字(比如阿拉伯数字、罗马数字等); 
    C:其他字符

    Java 中用于 Unicode 的正则表达式数据都是由 Unicode 组织提供的。Unicode 正则表达式标准(可以找到所有的子属性) 
    http://www.unicode.org/reports/tr18/ 
    http://www.unicode.org/Public/UNIDATA/UnicodeData.txt 
    这个文本文档一行是一个字符,第一列是 Unicode 编码,第二列是字符名,第三列是 Unicode 属性, 
    以及其他一些字符信息。

    public static void main(String[] args) {  
            String str = ",.!,,D_NAME。!;‘’”“《》**dfs  #$%^&()-+1431221中国123漢字かどうかのjavaを決定";  
            str = str.replaceAll("[\pP‘’“”]", "");  
            System.out.println(str);  
        }  
    

      

    结果:DNAMEdfs  $^+1431221中国123漢字かどうかのjavaを決定
    

      

  • 相关阅读:
    [转载]C#.NET中Dns类的常用方法及说明
    [转载]如何辨别真假百度蜘蛛
    Lottie的json动画
    iOT
    iOS字体大小
    针对Xcode 9 + iOS11 的修改,及iPhone X的适配
    shell脚本之 给PNG图片添加后缀@3x
    正则表达式
    CSS
    XcodeProj,使用Ruby更改工程文件
  • 原文地址:https://www.cnblogs.com/gonT-iL-evoL-I/p/9773266.html
Copyright © 2011-2022 走看看