正则表达式用于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(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |