加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式用于Java中的电话号码屏蔽

发布时间:2020-12-14 06:05:02 所属栏目:百科 来源:网络整理
导读:我需要屏蔽一个电话号码 90 533 619 11 21 像这样 5**6**1*2* 首先,我正在检查它是否包含90(国家/地区代码)并将其删除 if (number.length() 2 number.substring(0,2).contains("90")){ number = number.replaceAll(number.substring(0,2),""); } 然后我将删
我需要屏蔽一个电话号码

90 533 619 11 21

像这样

5**6**1*2*

首先,我正在检查它是否包含90(国家/地区代码)并将其删除

if (number.length() > 2 && number.substring(0,2).contains("90")){
            number = number.replaceAll(number.substring(0,2),"");
        }

然后我将删除所有空格,但我被困在正则表达式部分.

number = number.replaceAll(" ","").replaceAll("d(?=d{4})","*");

解决方法

我们可以在不使用任何捕获组的情况下解决此问题

String input = "533 619 11 21";
input = input.replaceAll("(?<=d)d","*").replaceAll(" ","");
System.out.println(input);

5**6**1*2*

这里的替换逻辑是紧跟数字前面的任何单个数字都被替换为星号.这当然是第一位数.

请注意,我假设您已经有一些方法可以删除国家/地区代码.

Demo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读