java正则表达式2 -- 匹配、切割、查找
2024-08-25 18:27:34
import java.util.Arrays; /*
正则表达式的作用: 1 匹配 2 切割 3 替换 * */
public class Demo1 {
public static void main(String[] args) {
isPhone("0314-16610306");
cutStr1("火 影 忍 者");
cutStr2("大家家明天天玩的的的的的开心");
replaceSame("大家家明天天玩的的的的的开心");
} //匹配固话: 区号-主机号 区号:首位为0,长度为3-4位 主机号:首位不能为0,长度7-8位
public static void isPhone(String phone){
System.out.println(phone.matches("0\\d{2,3}-[1-9]\\d{6,7}")?"合法固话 ":"非法固话");
} //切割 通过split
//需求:按照空格切割字符串 = 火 影 忍 者
public static void cutStr1(String str){
String[] splits = str.split(" +");
System.out.println("数组元素:" + Arrays.toString(splits));
}
//需求:按照叠词分割字符串=大家家明天天玩的的的的的开心
public static void cutStr2(String str){
String[] splits = str.split("(.)\\1+");
System.out.println("数组元素:" + Arrays.toString(splits));
} //替换
//字符串去重:大家家明天天玩的的的的的开心
public static void replaceSame(String str){
//把后几号替换成****
String s = "大家家明13211525558天天玩18356457889的的的的的开心";
System.out.println("被替换后的内容" + s.replaceAll("1[3478]\\d{9}+", "****")); //去重并替换
System.out.println(str.replaceAll("(.)\\1+", "$1"));
//(.)任意字字符成组,\\1捕获1次;叠词,$1得到1组, 取前面的组1次或多次
}
}
运行结果:
最新文章
- 嵌入式linux下如何尽快播放开机音乐
- wpa_supplicant 使用
- Base-Android快速开发框架(二)--数据存储之SharedPreferences
- C语言遍历一个文件夹下面的所有文件
- RT: TCP REUSEADDR or REUSEPORT
- jquery 获取选中的文字.当前光标所在的位置等jquery-fieldselection 插件
- iOS 画音频波形曲线 根据音频数据版
- AAC ADTS解析
- Android开发 更改返回button的图标
- c# 初识WPF
- IntelliJ IDEA打包WAR并部署运行(mac osx)将Web项目War包部署到Tomcat服务器基本步骤(完整版)
- Django中使用geetest实现滑动验证
- vue的基本操作
- 浅析Android设备中grep命令处理流程
- cf 443
- ArcFace2 #C 视频人脸比对教程
- Django配置后台xadmin管理界面
- java可视化编程-eclipse安装windowbuilder插件(转载)
- jQuery DataTables插件分页允许输入页码跳转
- js 正则验证