qq_17299423
大树12999
2015-10-12 02:12
采纳率: 16%
浏览 2.9k
已采纳

java实现数字替换成*,求大神指点

我现在要实现150****8558,这样的样式,我是新手,还请大神指点,最好是贴上代码。谢谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • qq_30442899
    qq_30442899 2015-10-12 03:44
    已采纳
     /**
         * 对一个字符串,指定字符“段”替换成对应的字符
         * @param resStr 字符串
         * @param begin 开始
         * @param end   结束
         * @param replaceStr 替换字符
         * @return
         */
        private static String strReplace(String resStr, int begin , int end, String replaceStr) {
    
            //判断是否满足条件
            if(resStr == null || resStr.length()<end)
                return "";
    
            //转为为String数组
            String resStrs[] = {resStr.substring(0,begin),resStr.substring(begin,end),
                    resStr.substring(end,resStr.length())};
    
            //对需要替换的字符进行替换
            resStrs[1] = resStrs[1].replaceAll(".",replaceStr);
    
            return resStrs[0]+resStrs[1]+resStrs[2];
        }
    
    点赞 评论
  • bdmh
    bdmh 2015-10-12 02:16
         public static String formatNumber(String number, int start, int end, String format) {
            if (TextUtils.isEmpty(number)) {
                return "";
            }
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append(number.substring(0, start));
            for (int i = start; i <= end; i++) {
                stringBuilder.append("*");
            }
            stringBuilder.append(number.substring(end + 1, number.length()));
            return stringBuilder.toString();
        }
    
    点赞 评论
  • u014443175
    我是小林小 2015-10-12 03:12

    public static String getEncrypt(String num) {
    StringBuffer buffer = new StringBuffer();
    for (int i = 0; i < num.length(); i++) {
    if (i < 3 || i > 7) {
    buffer.append(num.charAt(i));
    } else {
    buffer.append('*');
    }
    }
    System.out.println(buffer.toString());
    return buffer.toString();
    }

    点赞 评论

相关推荐