溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java正則替換手機號代碼實例

發(fā)布時間:2020-09-01 08:23:05 來源:腳本之家 閱讀:244 作者:聽海的聲音 欄目:編程語言

在日常生活中,我們經(jīng)常會遇到將一個手機號的4-7位字符串用正則表達式替換為為星號“*”。這是出于對安全性和保護客戶隱私的考慮將程序設(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

這只是正則表達式的一個簡單用法,下面我們拓展一下其他相關(guān)用法及具體介紹。

1,簡單匹配

在java中字符串可以直接使用

String.matches(regex)

注意:正則表達式匹配的是所有的字符串

2,匹配并查找

找到字符串中符合正則表達式的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");
}

此時還可以查找出匹配的多個分組,需要在正則表達式中添加上括號,一個括號對應(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替換成*,$為正則表達式中的占位符。

總結(jié):

以上就是本文關(guān)于正則表達式替換手機號中間四位的具體代碼和正則表達式的一些相關(guān)用法,希望對大家有所幫助。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI