如果不是刚刚复习了下正则表达式,我可能也不会注意到,原来String的replaceAll跟replaceFirst用到了正则表达式!

不多解释,看代码:

运行结果:

是不是感觉很神奇?

其实懂正则表达式的应该已经发现了,是的,“.”是正则表达式的元字符,匹配除换行符以外的任意字符,所以replaceAll、replaceFirst才出现了这样的结果。

而replace没有用到正则表达式,但会把所有“.”替换掉,很多人可能会误解replace是替换单个,而replaceAll是替换全部,其实这是错的(我以前也是这么想的- -)。replace只是没有用到正则表达式,但会替换所有匹配的字符串。

到这里一些不懂正则表达式的小伙伴可能就要喊坑爹了,“那我不想用正则表达式去替换第一个字符串肿么办?”其实也很简单,只要将元字符串转义就行了。

运行结果:

这里给个会被正则表达式识别的字符列表:

.匹配除换行符以外的任意字符

^匹配字符串的开始

$匹配字符串的结束

*重复零次或更多次

+重复一次或更多次

?重复零次或一次

当然,正则可远不止这么点,个人建议花点时间去学习一下比较好~

补充:String的split也是用到了正则表达式,使用的时候注意点哦!

java替换字符串最后_java字符串的替换replace、replaceAll、replaceFirst的区别详解相关推荐

  1. java ear war_基于Java的打包jar、war、ear包的作用与区别详解

    基于Java的打包jar.war.ear包的作用与区别详解 以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希 ...

  2. java字符串的替换replace、replaceAll、replaceFirst的区别详解

    2019独角兽企业重金招聘Python工程师标准>>> 如果不是刚刚复习了下正则表达式,我可能也不会注意到,原来String的replaceAll跟replaceFirst用到了正则 ...

  3. java注解式开发_JAVA语言之Spring MVC注解式开发使用详解[Java代码]

    本文主要向大家介绍了JAVA语言的Spring MVC注解式开发使用详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处 ...

  4. java解析日志数据_Java实时监控日志文件并输出的方法详解

    Java实时监控日志文件并输出的方法详解 想在前台显示数据同步过程中产生的日志文件,在网上找到解决方案,做了代码测试好用.这里做个记录 java.io.RandomAccessFile可以解决同时向文 ...

  5. java 查询sql语句_java执行SQL语句实现查询的通用方法详解

    完成sql查询 并将查询结果放入vector容器,以便其他程序使用 /* * 执行sql查询语句 */ public static vector executequery(class clazz, s ...

  6. java ear war_[转] 基于Java的打包jar、war、ear包的作用与区别详解

    以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果.除jar以外对于J2EE来说还有war和ear.区 ...

  7. java 中适配器原理_Java经典设计模式中关于适配器模式原理以及用法详解

    这篇文章主要介绍了Java经典设计模式之适配器模式,简单说明了适配器模式的概念.原理,并结合实例形式分析了java适配器模式的用法与相关注意事项,需要的朋友可以参考下 本文实例讲述了Java经典设计模 ...

  8. JAVA生产环境验证_Java生产环境下性能监控与调优详解

    本课程将为你讲解如何在生产环境下对Java应用做性能监控与调优:通过本课程,你将掌握多种性能监控工具应用,学会定位并解决诸如内存溢出.cpu负载飙高等问题:学会线上代码调试,Tomcat.Nginx, ...

  9. java五子棋聊天功能_Java基于享元模式实现五子棋游戏功能实例详解

    本文实例讲述了Java基于享元模式实现五子棋游戏功能.分享给大家供大家参考,具体如下: 一.模式定义 享元模式,以共享的方式高效地支持大量的细粒度对象.通过复用内存中已存在的对象,降低系统创建对象实例 ...

最新文章

  1. android跨域 元素,Android之app作为服务器解决跨域问题
  2. C# 参数按照ASCII码从小到大排序(字典序)
  3. C++学习基础篇 —— 引用()的用法和应用
  4. 120 - 算法 -找到n个无序数中的 第k个最小的数 快排的变体
  5. 您如何性能测试JavaScript代码?
  6. gridview自动编号
  7. 多路测温系统C51语言,51单片机多路DS18B20温度测量程序
  8. 我工作用的电脑十年没重装过一次系统,我是如何做到的
  9. 用c/c++和Java语言实现庞加莱回归
  10. 支付宝扫码转银行卡技术/隐藏部分卡号
  11. jstl标签中的fn与fmt标签的用法
  12. date.getMonth() date.getDate())
  13. Unbuntu16.04下cmake-gui安装
  14. android 表情工厂,表情工厂安卓版
  15. 中国版权保护中心注册流程(含实名认证)
  16. 微信公众号绑定游戏中的安全问题
  17. 总成绩冒泡排序Java_输入班级48分的java考试成绩,并且将其顺序排序
  18. Pthon.习题二 字符串的基本处理
  19. dell服务器显示器接口在哪里,【Dell S2719H 显示器使用总结】安装|接口|边框|背板_摘要频道_什么值得买...
  20. JavaSE有关String的一些API:charAt、indexOf、length、replaceAll、split、subString、trim、toUpLocase、valueOf......

热门文章

  1. The dialogues of classic movie-经典电影对白
  2. IOC和DI有什么区别
  3. 关于js函数如何进行转义反斜杠
  4. HTMLCSS超精炼面试题
  5. 2020秋招小记 0
  6. python pandas 查看数据的前五行
  7. 怎样释放计算机网络宽带限制,解除电脑网速限制 释放电脑被限制的20%网速
  8. 卡西欧发布与红牛二队最新合作的高性能运动手表
  9. Ubuntu18.04下NVIDIA驱动+CUDA11.0安装
  10. 出国申请PS注意事项