replace、replaceAll、replaceFirst的区别详解
2015-12-01 14:40
609 查看
String s = "my.test.txt"; System.out.println(s.replace(".", "#")); System.out.println(s.replaceAll(".", "#")); System.out.println(s.replaceFirst(".", "#")); my#test#txt ########### #y.test.txt
“.”是正则表达式的元字符,匹配除换行符以外的任意字符,所以replaceAll、replaceFirst才出现了这样的结果。
而replace没有用到正则表达式,但会把所有“.”替换掉,很多人可能会误解replace是替换单个,而replaceAll是替换全部,其实这是错的。replace只是没有用到正则表达式,但会替换所有匹配的字符串。
那我不想用正则表达式去替换第一个字符串肿么办?”其实也很简单,只要将元字符串转义就行了。
这里给个会被正则表达式识别的字符列表:
.匹配除换行符以外的任意字符
^匹配字符串的开始
$匹配字符串的结束
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
当然,正则可远不止这么点,个人建议花点时间去学习一下比较好~
补充:String的split也是用到了正则表达式,使用的时候注意点哦!
indexOf 方法
返回 String 对象内第一次出现子字符串的字符位置。
相关文章推荐
- 重定位cout到文件,不输出到屏幕
- 关于CocoaPods的使用小说明
- IOS的ScrollView使用方法(教你超出部分怎么玩)
- adb logcat 命令详解 log过滤
- 极光推送 桌面图标推送个数的处理
- MaterialDesign之NavigationView和DrawerLayout实现侧滑菜单栏(抽屉)
- HDU1260 Tickets DP
- C++标准库——简介
- Android 料阅读及视频观看,先下载后打开
- XML 测验
- java中文本框和文本区
- 大大集团怀化市公司组织开展党建工作培训
- PowerDesigner16导出Sql修复
- 浅写重写ViewGroup和View(未完)
- Analyse of MV Field by Matlab
- mac 安卓调试 找不到手机
- 函数原型将看起来像这样
- Go并发编程
- 蓝牙API
- 股骨头坏死的治疗方法