java 正则 多个空格_java正则表达式 多个空格替换多个成-
今天遇到一个正则表达式问题,如题,需求是将“aaa bbb”替换成“aaa---bbb”,关键来了,要求正则表达式前面是aaa,后面是bbb。
如s.replaceAll("aaa\\s+bbb", "aaa-bbb");这样就只能换成一个-
不要告诉我s.replaceAll(" ", "-"),这个我也会。
网友的方法:
String str = "qqqqqaaaadrrr ssssaaa bbbssdfsdfsdfs";
Pattern p = Pattern.compile("(aaa\\s+bbb)");
Matcher m = p.matcher(str);
while(m.find())
{
str = str.replaceFirst(m.group(1), m.group(1).replaceAll("\\s", "-"));
}
System.out.println(str);
真心不错,简洁有效。
思路为:先找到匹配到的字符串(记为s1),再对字符串s1修改成匹配后的字符串s2,最终再对整个字符串s将s1替换为s2。
另一个解法:
String x = "(.*aaa)(\\s+)(bbb.*)";
Pattern pattern = Pattern.compile(x);
String loop="";
String s = "qqqqqaaaadrrr ssssaaa bbbssdfsdfsdfs";
Matcher matcher = pattern.matcher(s);
if (matcher.find()){
for (int i = 0; i < matcher.group(2).length(); i++) {
loop=loop+"-";
}
System.out.println(matcher.group(1)+loop+matcher.group(3));
}
思路:利用group拼凑,最终得出替换后结果
原文:http://blog.csdn.net/love_5209/article/details/19418543
java 正则 多个空格_java正则表达式 多个空格替换多个成-相关推荐
- java正则匹配双字节_Java 正则表达式详解(二)
Java常用正则表达式匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用 ...
- java 正则提取大于等于号_Java正则表达式
一.简述 在字符串比较时,简单的操作可以使用一些算法来查找或匹配,如要判断一个端口地址地址是否合法,可以简单的判断其是否在0-65536之间. 但是,有一些字符匹配操作使用这种方法非常复杂,如匹配一个 ...
- java 正则 不包含字符串_java正则表达式找出不包含特定字符串
看到有同学询问这个都好几天了还没解决,就摆渡了哈, 以下纯属copy, ======================================= 正则表达式中有前瞻(Lookahead)和后顾( ...
- java正则匹配英文句号_java正则表达式最简单 学习教程
本大教程以一个验证手机号的表达式为例,学完本例后,基本上所有的表达式都能看懂了,但是如果想要达到上手就能写的程度,还需要多练习多测试 呀! 来看 这样一个代码 String mobilePhoneRe ...
- java正则匹配的坑_java正则表达式入坑指南
在日常开发工作中,无论你使用的语言是java.python.shell.golang还是C#, 正则表达式是编程语言中几乎绕不开的话题.有了它,可以帮你快速定位到符合条件的文本内容.今天小编带大家一起 ...
- java正则匹配下划线_java正则表达式-匹配中文数字字母下划线
正则表达式用来指定字符串模式.当你需要定位匹配某种模式的字符串时就可以使用正则表达式.例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接. 当然,为了指定一种 ...
- java正则表达式 替换空格_Java正则表达式替换移除空行和多余的空格
这几天重拾Java写代码,须要操做文本文件中的内容.正则表达式 最终,要把内容里的空行和多余的连续空格移除,使用String里的replace或者replaceAll,试了不少次都没有成功.spa 最 ...
- java 匹配反斜杠_java正则表达式的反斜杠(\)匹配
源文:http://chz2002.diandian.com/post/2012-05-24/19803797 java中匹配正则表达式匹配反斜杠要用""两个反斜杠就要用" ...
- java正则 找出数字_Java使用正则表达式实现找出数字功能示例
本文实例讲述了Java使用正则表达式实现找出数字功能.分享给大家供大家参考,具体如下: 1.问题: String str = "fjd789klsd908434jk#$$%%^3848854 ...
最新文章
- 【Android工具】安卓魔力播放器moliplayer绿色无广告,手机DLNA播放器
- java写 IP十进制转变_java实现ip地址与十进制数相互转换
- 《信息学奥赛一本通》1283:登山
- 并行计算(一)——初步认识
- B2B多商铺初期权限数据库设计
- 怎么找网页源文件位置_原神白铁块位置分布图 原神白铁块怎么找
- Tomcat运行时报 cannot be cast to javax.servlet.Servlet
- GATK GATK best practices notes
- Git Commit 规范以及emoji 使用指南
- Cesium针对DEM和3Dtiles通视分析(两个点之间是否能看见)
- vscode中用快捷键 Alt + Shift + F 格式化代码不生效的问题
- sql取每组最新数据
- JavaWeb项目中使用到的过滤器
- 基于Netty的RPC架构实战演练
- Android Duplicate class com.xxx found in modules
- 傲梅分区助手v8.1.0 企业单文件免费版
- HTML5+CSS3+JS实现满屏下雪效果
- 昆明北大附中2021高考成绩查询,北大附中云南实验学校2021年排名
- 转化率最高的10个购物网站的经验
- 三分钟时间告诉你提词器哪款软件好用
热门文章
- 如何用“区块链+稳定币”技术来提升资产证券化市场运作效率
- AjaxPro怎么用
- 马哥教育第二十二天IO模型理论、数据库基础理论、LAMP平台理论基础及mysql部署...
- php培训12.22
- Netbeans自定义mode
- 在WPF中弹出右键菜单时判断鼠标是否选中该项
- Spring Boot 2.4.0 全新发布,还不快来实战
- .net html转义字符,asp.net转义字符
- myemployees库的四张表介绍
- container常见操作