正则表达式 替换字符串

在java中我们如何利用 正则表达式 去掉及替换到重复的字符串,分隔符,空格及制表符等问题。

java正则表达式,实例代码如下:

package cn.xinbiancheng.demo1;
/**
 @author xinbiancheng.cn
 java版 正则表达式 替换字符串
 */
public class matcher
{
    public static void main(String[] args)
    {
        numberReplaceSpace();
        RemoveDuplicateSeparator();
        RemoveDuplicateChar();
        RemoveTabOrSpace();
    }

    /**
     *  使用正则表达式将重叠的数字替换成 空格
     baidu.com11xinbiancheng.cn123456google.cn
     */
    public static void numberReplaceSpace()
    {
        String str="baidu.com9234xinbiancheng.cn123456google.cn";
        System.out.println(str.replaceAll("\\d+", " "));
    }

    /**
     * 	使用正则表达式去掉重复的分隔符, 也就是说把多个相连的分隔符替换成一个分隔符
     baidu.com|||||xinbiancheng.cn::::::google.cn&&&&&&&163.com
     */
    public static void RemoveDuplicateSeparator()
    {
        String str="baidu.com|||||xinbiancheng.cn::::::google.cn&&&&&&&163.com";
        System.out.println(str.replaceAll("(\\b.)\\1+","$1"));
        // baidu.com|xinbiancheng.cn:google.cn&163.com
    }

    /**
     * 使用正则表达式将3个重复的字符替换成一个竖线 |
     baidu.comaaaxinbiancheng.cnbbbbgoogle.cncccccc163.com
     */
    public static void RemoveDuplicateChar()
    {
        String str="baidu.comaaaxinbiancheng.cnbbbbgoogle.cncccccc163.com";
        System.out.println(str.replaceAll("((.)\\2{2,})", "|"));
        //baidu.com|xinbiancheng.cn|google.cn|163.com
    }

    /**
     * 使用正则表达式 将字符串中的 空格和tab混合在一起,替换成 逗号 ,
     */
    public static void RemoveTabOrSpace()
    {
        String str="张三 	李四		王五    xinbiancheng.cn 蜡笔小新";
        System.out.println(str.replaceAll("[ \\t]+", ","));
        //张三,李四,王五,xinbiancheng.cn,蜡笔小新
    }
}

在java中,有些同学会对RemoveDuplicateSeparator这个函数中的 (\\b.) 不理解,请参考:正则表达式 \b 单词边界