语法
public String replaceAll(String regex, String replacement)
参数
regex:regex–正则表达式
代表在该字符串中通过正则表达式查找符合添加的子字符串
replacement:需要替换的需要的字符串
返回值
成功则返回替换的字符串,失败则返回原始字符串。
案例:手机号隐藏
String phone = "12345678910";
String replace = phone.replaceAll("(\\d{3})(\\d{4})(\\d{4})", "$1****$2");
System.out.println("replace = " + replace);//123****4567
String phone = "12345678910";
String replace = phone.replaceAll("(\\d{3})(\\d{4})(\\d{4})", "****$1$2");
System.out.println("replace = " + replace);//****1234567
String phone = "12345678910";
String replace = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "****$1$2");
System.out.println("replace = " + replace);//****1238910
String phone = "12345678910";
String replace = phone.replaceAll("\\d{3}(\\d{4})(\\d{4})", "****$1$2");
System.out.println("replace = " + replace);
String phone = "12345678910";
String replace = phone.replaceAll("\\d{3}(\\d{4})\\d{4}", "****$1");
System.out.println("replace = " + replace);//****4567
String phone = "12345678910";
String replace = phone.replaceAll("\\d{3}(\\d{4})\\d{4}", "****$1***");
System.out.println("replace = " + replace);//****4567***
注意:
- $1属于占位符,代表正则表达式的一个(),如果正常括号的数量大于占位符的数量不报错,默认前几个,小于则报错
- $ 定位不进行替换的字符串正则表达式
String的replace方法则是正常的不包含正则表达的替换