栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java字符串指定脱敏汉字个数——常用工具

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java字符串指定脱敏汉字个数——常用工具

1.1需求

在实际开发中,前后端分离开发需要对参数加密或者脱敏的需求日益增多,今天接到的需求就是对用户信息的地址在返回前端的时候需要对 其做处理,需求如下:

就是将地址字符中的汉字的后6个进行脱敏。

1.2 工具类
//需要导入的包
    import java.util.regex.Pattern;
    import java.util.regex.Matcher;
public static String addrEnc(String tarStr){

        try {
            if(tarStr!=null){
                if(tarStr.length()>6){
                  //  String tarStr = "陕西省西安市雁塔区科技南路FTTH亿龙金河湾岳府郡(二区)1号楼3单元";
                    //因为是后六位汉字,所以将地址先倒置
                    String s=new StringBuilder(tarStr).reverse().toString();
                    System.out.println(s);
                    //正则规则(汉字)
                    String regEx="[u4e00-u9fa5]";
                    //进行正则匹配,获取汉字的位置
                    Matcher slashMatcher = Pattern.compile(regEx).matcher(s);
                    int mIdx = 0;
                    //如果到汉字则记录下下标
                    while(slashMatcher.find()) {
                        mIdx++;
                        //脱敏第6位汉字
                        int N=6;
                        if(mIdx == N){
                            break;
                        }
                    }
                    //slashMatcher.start()+1就是第6个汉字的下标,从总的字符串截取下来
                    String s1  =  s.substring(0,slashMatcher.start()+1);
                    // String s2=  s1.replaceAll(regEx,"*");
                   //将带有最后6位汉字的字符串用* 替换再和剩下的字符串拼接。
                    String s3=  s1.replaceAll(regEx,"*")+s.substring(slashMatcher.start()+1,s.length());
                    //最后将处理好的字符串倒置。
                     tarStr=new StringBuilder(s3).reverse().toString();
                    //这里的tarStr就是我们最终处理后的数据
                      System.out.println(tarStr);

                        }


            }
        } catch (Exception e) {
            //脱敏失败不做处理
        }
        return tarStr!=null?tarStr:"";
    }
1.3 应用展示


仅作记录。如有更好的方法望指正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/276224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号