Java正則替換手機號代碼實例
在日常生活中,我們經(jīng)常會遇到將一個手機號的4-7位字符串用正則表達(dá)式替換為為星號“*”。這是出于對安全性和保護(hù)客戶隱私的考慮將程序設(shè)計成這樣的。下面我們就來看看具體代碼。
package Test0914; public class Mobile { public static void main(String[] args) { String mobile = "13856984571"; mobile = mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); System.out.println(mobile); } }
輸出結(jié)果如下:
138****4571
這只是正則表達(dá)式的一個簡單用法,下面我們拓展一下其他相關(guān)用法及具體介紹。
1,簡單匹配
在java中字符串可以直接使用
String.matches(regex)
注意:正則表達(dá)式匹配的是所有的字符串
2,匹配并查找
找到字符串中符合正則表達(dá)式的subString,結(jié)合Pattern Matcher 如下實例取出尖括號中的值
String str = "abcdefefg"; String cmd = "<[^\\s]*>"; Pattern p = Pattern.compile(cmd); Matcher m = p.matcher(str); if(m.find()){ System.out.println(m.group()); }else{ System.out.println("not found"); }
此時還可以查找出匹配的多個分組,需要在正則表達(dá)式中添加上括號,一個括號對應(yīng)一個分組
String str="xingming:lsz,xingbie:nv"; String cmd="xingming:([a-zA-Z]*),xingbie:([a-zA-Z]*)"' Pattern p = Pattern.compile(cmd); Matcher m = p.matcher(str); if(m.find()){ System.out.println("姓名:"+m.group(1)); System.out.println("性別:"+m.group(2)); }else{ System.out.println("not found"); }
3,查找并替換,占位符的使用
String str= “abcaabadwewewe”; String str2 = str.replaceAll("([a])([a]|[d])","*$2") str2為:abc*ab*dwewewe
將a或d前面的a替換成*,$為正則表達(dá)式中的占位符。
總結(jié):
以上就是本文關(guān)于正則表達(dá)式替換手機號中間四位的具體代碼和正則表達(dá)式的一些相關(guān)用法,希望對大家有所幫助。
相關(guān)文章
使用@ConfigurationProperties實現(xiàn)類型安全的配置過程
這篇文章主要介紹了使用@ConfigurationProperties實現(xiàn)類型安全的配置過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02Java分頁簡介_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java分頁簡介的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08SMBMS超市訂單管理系統(tǒng)的網(wǎng)站源碼
這篇文章主要介紹了SMBMS超市訂單管理系統(tǒng),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05Java中避免NullPointerException的方法總結(jié)
這篇文章主要介紹了Java中避免NullPointerException的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-07-07使用Idea或Datagrip導(dǎo)入excel數(shù)據(jù)的方法
這篇文章主要介紹了使用Idea或Datagrip導(dǎo)入excel數(shù)據(jù)的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11