在页面显示手机或者银行卡之类隐秘信息的时候,通常会加*,每次手动加*的话会很痛苦,这里放个字符串马赛克工具,方便以后用.
package com.newnewbank.utils.string;
public class StringMaskUtil {
/**
* 字符串打马赛克
* @param str 原字符串
* @param leftRest 左边预留
* @param rightRest 右边预留
* @param replaceStr 替换字符
* @return
*/
public static String mask(String str,int leftRest,int rightRest,String replaceStr){
int length = str.length();
if(leftRest+rightRest>=length){
return str;
}
String st1=str.substring(0, leftRest);
String st3=str.substring(length-rightRest);
String st2="";
int reNum=length-leftRest-rightRest;
for(int i=0;i<reNum;i++){
st2+=replaceStr;
}
return st1+st2+st3;
}
public static void main(String[] args) {
String string ="1234567891";
System.out.println(mask(string, 3, 4, "*"));
}
}