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 = "fancq@tedu.cn";
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);
}
}