无关风月
2025-01-08 a70b9da8a2a1a10984cc09ebaae98861836f836f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.jilongda.applet.utils;
 
/**
 * 脱敏工具类
 */
public class RptUtils {
      private static final String SYMBOL = "*";
 
     /**
      *  脱敏
      * @param str 待脱敏字符串
      * @param left 左边保留多少位
      * @param right 右边保留多少位
      * @return 脱敏结果,除左右外,其余字符将被替换为*
      */
     public static String around(String str, int left, int right){
         if (str == null || (str.length() < left + right +1)){
             return str;
         }
         String regex = String.format("(?<=\\w{%d})\\w(?=\\w{%d})", left, right);
         return str.replaceAll(regex, SYMBOL);
     }
 
     /**
      * 正则表达式实现金额数据脱敏
      * @param money
      * @return
      */
     public static String getMoney(String money){
         //保留0个数到0个结束
         return around(money,0,0);
     }
 }