Java string 怎么把 "***" 替换成其他字符,不要跟我说"\\*\\*\\*" ,

Java string 怎么把 "***" 替换成其他字符,不要跟我说"\\*\\*\\*" ,那样报错了,谢谢

public static void main(String[] args) {
String te = "***";
//te = te.replaceAll("\\*", "a");//将每个*转换成a
te = te.replaceAll("\\*\\*\\*", "abc");//将三个*一起转换成abc
System.out.println(te);
}

追问

三个星号是要在一起的,我不是只替换其中一个,谢谢,

追答

不知道你是将字符串“abc”变成“***”,还是将“***”变成"abc"形式,如果是后面一种我上面的回答就行。

追问

将"***"变成"abc"

追答

你直接跑一下我上面的程序,满足你的要求。我已经测试通过了。

追问

跑过了,那样每个星号都会替换成"ABC",这不是我要的效果

我要的是每三个星号替换成我要的字符串

追答public static void main(String[] args) {
        String te = "张三***李四";
        te = te.replaceAll("\\*\\*\\*", "abc");//将三个*一起转换成abc
        System.out.println(te);
    }
    执行结果:张三abc李四

追问

你的jdk版本多少

追答

1.7

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-29
用replaceAll代替即可:
例如:
String regex = "(wqnmlgb|cnm|nmb|nc|sb|hd|ndy|tmd)";
String message = "wqnmlgb!你个sb!cnm!你就是个tmd";
message = message.replaceAll(regex, "**");
System.out.println(message);追问

一点用都没有,你真逗

第2个回答  2016-01-29
byte[] b ={42, 42, 42};
System.out.println(new String(b));

还有很多方法,比如&方式的,我这个是ascII方式。

用这个再去匹配

String string="a***c";
byte[] b ={42, 42, 42};
String ts= string.replace(new String(b),"b");
System.out.println(ts);