1.正則表達式簡介
![
2.字符串的使用
2.1字符串支持 正則表達式的方式一:
- boolean matches(String regex)
- 根據給定的正則表達式驗證當前字符串是否滿足格式
- 要求,滿足則返回true,否則返回false。
郵箱的表達:
package day02;
/**
* 字符串支持 正則表達式的方式一:
* boolean matches(String regex)
* 根據給定的正則表達式驗證當前字符串是否滿足格式
* 要求,滿足則返回true,否則返回false。
*
* @author Acer
*
*/
public class StringDemo1 {
public static void main(String[] args) {
/*
* 電子郵箱的正則表達式
* [a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+
*
* \\表示爲"\\\\"
*/
String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_]+)+";
System.out.println(regex);
String mail = "[email protected]";
boolean flag =mail.matches(regex);
if(flag) {
System.out.println("是郵箱");
}
else {
System.out.println("不是郵箱");
}
}
}
手機號碼:
package day02;
import java.util.Scanner;
/**
* 驗證手機號的正則表達式
* @author Acer
*
*/
public class Test01 {
public static void main(String[] args) {
/*
* 要求用戶輸入一個手機號,然後經過驗證
* 輸出是否是手機號碼
*/
System.out.println("請輸入一個手機號");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
/*
* (\+86|0086)?\s*1[0-9]{10})
*/
String regex = "1[0-9]{10}";
if(line.matches(regex)) {
System.out.println("是手機號");
}else {
System.out.println("不是手機號");
}
scanner.close();
}
}
2.2 字符串支持 正則表達式的方式二:
- String split(String regex)
- 將當前的字符串按照正則表達式的部分進行拆分
- 返回拆分後的的每段內容
package day02;
/**
* 字符串支持 正則表達式的方式二:
* String split(String regex)
* 將當前的字符串按照正則表達式的部分進行拆分
* 返回拆分後的的每段內容
* @author Acer
*
*/
public class StringDemo2 {
public static void main(String[] args) {
String str ="abc123def456ghi789jkl";
/*
* 按照書字拆分,保留所有英文字母部分
*/
String regex ="[0-9]+";
String[] array = str.split(regex);
//打樁
System.out.println("len:" + array.length);
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
}
}
圖片重命名:
package day02;
/**
* 圖片重命名
* 1.jpg
*
* 16543135.jpg
*
* @author Acer
*
*/
public class Test02 {
public static void main(String[] args) {
String imgName = "1.jpg";
String names[] = imgName.split("\\.");
imgName = System.currentTimeMillis()
+"."+names[1];
System.out.println(imgName);
}
}
2.3 字符串支持正則表達式方法三:
- String replaceAll(String regex,String str);
- 將當前字符串中滿足正則表達式的部份替換成給定的字符串
package day02;
/**
* 字符串支持正則表達式方法三:
* String replaceAll(String regex,String str);
* 將當前字符串中滿足正則表達式的部份替換成給定的字符串
* @author Acer
*
*/
public class StringDemo3 {
public static void main(String[] args) {
String str = "abc123def456ghi789jkl";
/*
* 將數字部分替換成"#NUMBER#"
*/
str = str.replaceAll("\\d", "#NUMBER#");
System.out.println(str);
}
}
圖片重命名:
package day02;
/**
* 字符串支持正則表達式方法三:
* String replaceAll(String regex,String str);
* 將當前字符串中滿足正則表達式的部份替換成給定的字符串
* @author Acer
*
*/
public class StringDemo3 {
public static void main(String[] args) {
String str = "abc123def456ghi789jkl";
/*
* 將數字部分替換成"#NUMBER#"
*/
str = str.replaceAll("\\d", "#NUMBER#");
System.out.println(str);
}
}
和諧用語:
package day02;
/**
* 和諧用語
* @author Acer
*
*/
public class Test04 {
public static void main(String[] args) {
String regex = "(wqnmlgb|cnm|sb|2b|nc|tmd|cby|djb)";
String message = "wqnmlgb!你這個djb!你咋麼這麼nc";
message = message.replaceAll(regex, "**");
System.out.println(message);
}
}