gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 01:20:16 30 4
gpt4 key购买 nike

我需要屏蔽电话号码

90 511 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

关于java - 用于 Java 电话号码屏蔽的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48657698/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com