java ReplaceAll 以及 分组
java 的replaceAll方法是对整个字符串满足条件的进行替换,可以用正则表达式。比如
String s1="My name is Khan. My name is Bob. My name is Sonoo.";
String replaceString=s1.replaceAll("\\s","");
System.out.println(replaceString); //该方法是把所有的空格去除
后面我遇到一个需求,需要把手机号中间四位换成*,想着replaceAll还有一个group方法,这样就可以把手机号分成三部分,找出手机号的同时,把中间部分替换成星号,如下代码。
String hidenPhone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
原来replaceAll(“”),可以通过括号分组,第一组就是$1。上图我用两个组,两组中间夹着要变成星号的四个数字,这样就简单有效的替换了。