记一次使用replaceAll的问题
使用replaceAll替换一个图片地址的时候发现没有替换到
需求是需要把网络上的图片上传到本地服务器,然后把图片地址替换成自己的地址,结果出现图片上传成功,却没有替换的情况。
搜了一下发现是由于replaceAll会匹配正则字符,所以导致当url里面出现?的时候就会匹配不到,导致匹配失效。
使用raplace直接替换
其实这里我们直接使用replace直接替换就好了,会去完全匹配。
因为一直以为replace是匹配第一次,而replaceAll是匹配所有。一直出现理解错误!!
使用replaceFirst()替换第一次出现
这个方法只替换第一次出现的,也可以匹配正则表达式。
总结:replace与replaceAll的区别主要是replaceAll支持正则!他们都会全部替换!!