版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15071263/article/details/82994997
Replace 掉指定字符串中间的一段内容
1、不可变长度,固定长度字符串
比如手机号的脱敏处理,手机号是不可变长度,固定长度的一个字符串
15197447018 需要 显示为 151****7018
StringBuffer buffer = new StringBuffer("15197447018");
buffer.replace(3,7,"****");
System.out.println(buffer.toString());
2、可变长度,不固定长度字符串
比如邮箱脱敏处理,邮箱是可变长度,不固定长度字符串
[email protected] 显示为 347******@qq.com
// 通过 replace 进行脱敏
private String replace(String source){
StringBuffer buffer = new StringBuffer(source);
int length = buffer.length();
// 根据你需要保留显示的长度进行设置
if (length>6){
String replace = "";
for (int i = 0; i < length-6; i++) {
replace += "*";
}
// 保留前面三位和后面三位
buffer.replace(3,length-3,replace);
return buffer.toString();
} else {
return source;
}
}