这里使用的是
org.apache.commons.lang.StringUtils;
下面是StringUtils工具类中字符串左侧补齐的方法,示例如下:
//左侧补齐 第一个参数:原始字符串,第二个参数:字符串的长度,第三个是补充的字符串
String newStr1 = StringUtils.leftPad("oldStr1", 10, "*");
System.err.println(newStr1);//***oldStr1
//获取字符串左侧指定长度的字符串,第一个参数:原字符串,第二个参数:取左侧字符串的长度
String newStr2 = StringUtils.left("oldStr3", 5);
System.err.println(newStr2);//oldSt
//左侧补齐,默认使用空格补齐,第一个参数:原字符串,第二个参数:字符串总长度,不足用空格补全
String newStr3 = StringUtils.leftPad("oldStr4", 10);
System.err.println(newStr3);// oldStr4
//左侧补齐 第一个参数:原始字符串,第二个参数:字符串的长度,第三个是补充的字符串
String newStr4 = StringUtils.center("oldStr1", 10, "*");
System.err.println(newStr4);//*oldStr1**
与上面的StringUtils工具类中字符串左侧补齐对应的还有右补齐rightPad、和center左右补齐方法,具体使用方法跟上面类似。
案例:
/**
* 对字符串进行脱敏处理
*
* @param word 被脱敏的字符
* @param startLength 被保留的开始长度 前余n位
* @param endLength 被保留的结束长度 后余n位
* @param pad 填充字符
*/
public static String wordMask(String word, int startLength, int endLength, String pad) {
if (StringUtils.isAnyBlank(word, pad)) {
return word;
}
if (startLength + endLength > word.length()) {
return StringUtils.leftPad("", word.length() - 1, pad);
}
String startStr = word.substring(0, startLength);
String endStr = word.substring(word.length() - endLength, word.length());
return startStr + StringUtils.leftPad("", word.length() - startLength - endLength, pad) + endStr;
}