java 怎么将String phone = "18732017061"; 变成 187****3201
时间: 2024-11-11 12:12:47 浏览: 8
在Java中,如果你想将手机号码格式化为星号(*)掩码,通常的做法是使用正则表达式替换特定位置的字符。这里是一个简单的示例,使用`replaceAll()`函数替换中间的四位数字为星号:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String phone = "18732017061";
String maskedPhone = maskPhoneNumber(phone);
System.out.println(maskedPhone);
}
public static String maskPhoneNumber(String originalPhone) {
// 使用Pattern和Matcher创建一个正则表达式模式,匹配除首位和最后两位外的所有数字
Pattern pattern = Pattern.compile("(\\d{3})(\\d{4})(\\d{4})");
Matcher matcher = pattern.matcher(originalPhone);
// 替换非首位和最后两位的数字为星号
String masked = matcher.replaceAll("$1****$3");
return masked;
}
}
```
运行这个程序后,`maskedPhone`将会是`187****3201`。
阅读全文