java后台姓名与手机号中间用*号代替

String realname = "程序员";
String mobile = "15888888888";
String realname1 =null;
char[]
r = realname.toCharArray();

char[] m = mobile.toCharArray();

if(r.length ==1){
realname1 = realname;
}

if(r.length == 2){
realname1 = realname.replaceFirst(realname.substring(1),"*"); }
if (r.length > 2) {
realname1 = realname.replaceFirst(realname.substring(1,r.length-1) ,"*");
}

for(int i=0; i<m.length;i++){
if(i>2 && i<7){
m[i] = '*';
} }
String mobile1 = String.valueOf(m);
System.out.println(realname1);//程*员
System.out.println(mobile1);
//158****8888

或者在sql中使用函数
SUBSTR(str,pos,len);

这种表示的意思是,就是从pos开始的位置,截取len个字符(空白也算字符)。

需要注意的是:如果pos为1(而不是0),表示从第一个位置开始。

原文链接:https://blog.csdn.net/xuanzhangran/java/article/details/77703891
原文地址:https://www.cnblogs.com/wsycoo/p/12691625.html