博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java replace 和 replaceAll
阅读量:6136 次
发布时间:2019-06-21

本文共 1224 字,大约阅读时间需要 4 分钟。

hot3.png

    Java String 的replace 和replaceAll 都是用来替换srcString的subString,但是有些不同的是,replace的参数是字符或者字符串,而replaceAll的参数可以是正则表达式。

public String replace (Char old,Char newChar) {    (oldChar != newChar) {        len = .i = -[] val = (++i < len) {            (val[i] == oldChar) {                }        }        (i < len) {            buf[] = [len](j = j < ij++) {                buf[j] = val[j]}            (i < len) {                c = val[i]buf[i] = (c == oldChar) ? newChar : ci++}            String(buf)}    }    }

    从源码中可以看出可以替换字符,当字符串中存在oldChar则替换所有的oldChar为newChar,并返回一个新字符串,原字符串不改变。如果不存在则返回原字符串的引用。

public String replace(CharSequence target,CharSequence replacement) {    Pattern.(target.toString()Pattern.).matcher(            ).replaceAll(Matcher.(replacement.toString()))}

   replace 替换字符串时,是从字符串的开始往后匹配。例如: 替换"aa"为“b”,则“aaa”.repalce("aa","b") 返回的是"ba",而不是"ab"。这里可以看到,内部使用的replaceAll方法。当target或者replacement为null时,会报NullPointerException。这里依然是返回的是一个新字符串,原字符串不变(字符串的操作几乎都是不改变原字符串,有一个例外,但是忘了)。

  

public String replaceAll(String regex,String replacement) {    Pattern.(regex).matcher().replaceAll(replacement)}

  replaceAll替换的字符串,通过匹配正则表达式(注意转义字符'\'和‘$’,在字符串中的影响),当然给定的字符串也是正则表达式的一种,返回的依然是新的字符串。

转载于:https://my.oschina.net/endeavour/blog/494938

你可能感兴趣的文章
impdp expdp nls_lang字符集设置
查看>>
php安装扩展错误:Cannot find config.m4
查看>>
一个综合的分布式项目之性能测试
查看>>
Laravel4 控制器放到子文件夹
查看>>
2015.3.27 Linux文档的压缩和打包
查看>>
自定义的python目录和文件 import 找不到路径的解决办法
查看>>
[Swift]UIKit学习之UILabel的用法
查看>>
zabbix 基本键值
查看>>
我的友情链接
查看>>
JQuery的Ajax跨域请求的解决方案
查看>>
Android 屏幕适配总结
查看>>
1.1错误处理
查看>>
Nginx的proxy_cache_path
查看>>
[TIA] self developer tools
查看>>
python的class里面的function怎么被调用
查看>>
fusionCharts 不能显示的原因
查看>>
解决chosen-select动态加载数据不生效的问题
查看>>
浮躁的心态
查看>>
注册表注册安装程序备忘
查看>>
在Mac上显示iPhone界面
查看>>