Bootstrap

正则表达式的基于Java的应用

spilt

  String[] split(String regex)
  将当前字符串按照满足正则表达式要求的部分拆分,将拆分后的每部分字符串最终以
  数组的形式返回。

  拆分规则 

如果字符串开始就可以出现可拆分项,则拆分出的第一个字符串为空字符串。

                str = "@a@b@c@d@e@f@"
                data = str.split("@");
                data:["", a, b, c, d, e, f]
如果连续匹配到两个可拆分项,则中间会拆分出一个空字符串
                str = "a@@b@c@d@e@f@"
                data = str.split("@");
                data:[a, "", b, c, d, e, f]
如果末尾拆分出空字符串时,会被【全部忽略】
                str = "a@b@c@d@e@f@@@@@@@@"
                data = str.split("@");
                data:[a, b, c, d, e, f]

 代码实例

        data = line.split("[a-z]+");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));


        String line2 = "a=b=c=d=e=f";
        //将line2按照"="进行拆分
        String[] data2 = line2.split("=");
        System.out.println(data2.length);//6
        System.out.println(Arrays.toString(data2));
        line2 = "===a=b=c=d=e=f";//最开始会拆分出三个空字符串
        data2 = line2.split("=");
        System.out.println(data2.length);//9
        System.out.println(Arrays.toString(data2));
        line2 = "a=b=c=d=e=f======================";
        data2 = line2.split("=");//末尾的空字符串全部被忽略
        System.out.println(data2.length);//6
        System.out.println(Arrays.toString(data2));

 replace

  将当前字符串中所有满足正则表达式的部分替换为给定的内容
  String replaceAll(String regex,String replacement)
           替换 所有

  代码实例 

        String line="123abC456dEf789hij";
        line=line.replaceAll("[a-zA-z]+","*");
        System.out.println(line);

        //replaceAll应用——屏蔽敏感词
        String regex="(wqnmlgb|dsb|nc|sb|nmd|cnm)";
        String input="wqnmlgb,你个nc,cnm";//用户输入
        System.out.println(input.replaceAll(regex,"*"));

 

 

 

 

 

 

 

 

 

;