string的replaceAll()

这篇博客探讨了Java的`replaceAll`方法在处理字符串时如何使用正则表达式来隐藏手机号码的部分数字。通过多个案例展示了不同正则模式对手机号码的匹配和替换效果,强调了$1等占位符的使用以及正则表达式的匹配顺序影响。
摘要由CSDN通过智能技术生成

语法

public String replaceAll(String regex, String replacement)

参数

regex:regex–正则表达式
代表在该字符串中通过正则表达式查找符合添加的子字符串
replacement:需要替换的需要的字符串

返回值

成功则返回替换的字符串,失败则返回原始字符串。

案例:手机号隐藏

		String phone = "12345678910";
        String replace = phone.replaceAll("(\\d{3})(\\d{4})(\\d{4})", "$1****$2");
        System.out.println("replace = " + replace);//123****4567
		String phone = "12345678910";
        String replace = phone.replaceAll("(\\d{3})(\\d{4})(\\d{4})", "****$1$2");
        System.out.println("replace = " + replace);//****1234567
		String phone = "12345678910";
        String replace = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "****$1$2");
        System.out.println("replace = " + replace);//****1238910
		 String phone = "12345678910";
        String replace = phone.replaceAll("\\d{3}(\\d{4})(\\d{4})", "****$1$2");
        System.out.println("replace = " + replace);
		String phone = "12345678910";
        String replace = phone.replaceAll("\\d{3}(\\d{4})\\d{4}", "****$1");
        System.out.println("replace = " + replace);//****4567
		String phone = "12345678910";
        String replace = phone.replaceAll("\\d{3}(\\d{4})\\d{4}", "****$1***");
        System.out.println("replace = " + replace);//****4567***

注意:

  • $1属于占位符,代表正则表达式的一个(),如果正常括号的数量大于占位符的数量不报错,默认前几个,小于则报错
  • $ 定位不进行替换的字符串正则表达式

String的replace方法则是正常的不包含正则表达的替换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值