/* 因为发现百度出来的手机号加星号、银行卡号加星号、用户名加星号等等的工具类,要么写的很简单满足不了开发需求,有的甚至遇到特殊情况会报错 有的写的很麻烦,手机号调用一个方法、银行卡调用一个方法,但遇到其他其他情况就照顾不到了,还得重写找工具类,或者自己开发,总之很麻烦。 因此,我根据java对字符串进行加星号处理的实际情况,写了一个算法函数作为工具类(里面就这一个静态方法),方便自己调用。 这次粘出来,也让大家用,我分享我快乐,利人利己。 */ import org.apache.commons.lang.StringUtils; /** * Created by Administrator on 2017/11/30 0030. */ public class ReplaceStarUtils { /** * 实际替换动作 * * @param userName userName * @return */ public static String replaceAction(String userName) { String userNameAfterReplaced = ""; int nameLength = userName.length(); if(nameLength<3 && nameLength>0){ if(nameLength==1){ userNameAfterReplaced = "*"; }else{ userNameAfterReplaced = userName.replaceAll(userName, "^.{1,2}"); } }else{ Integer num1,num2,num3; num2=(new Double(Math.ceil(new Double(nameLength)/3))).intValue(); num1=(new Double(Math.floor(new Double(nameLength)/3))).intValue(); num3=nameLength-num1-num2; String star= StringUtils.repeat("*",num2); userNameAfterReplaced = userName.replaceAll("(.{"+num1+"})(.{"+num2+"})(.{"+num3+"})","$1"+star+"$3"); } return userNameAfterReplaced; } }
java对字符串进行加星号处理
最新推荐文章于 2024-06-23 14:00:00 发布