java使用replace后的结果和javascript的replace后的结果不一样
javascript:
"4497e230a1667d9ca546d24e8b67878c".replace(/o/, "ow").replace(/d/, "do").replace(/a/, "ad").replace(/h/, "ha").replace(/s/, "sh").replace(/n/, "ns").replace(/m/, "mo")
java
"4497e230a1667d9ca546d24e8b67878c".replace("o", "ow").replace("d", "do").replace("a", "ad").replace("h", "ha").replace("s", "sh").replace("n", "ns").replace("m", "mo");
js结果:4497e230ad1667do9ca546d24e8b67878c
java结果:4497e230ad1667do9cad546do24e8b67878c
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
解决了,用replaceFirst
JavaScript的那个只会替换第一个,比如
'aaaa'.replace(/a/, 'b')
的结果会是'baaa'
,要全局替换的话,需要打开全局标识,如'aaaa'.replace(/a/g, 'b')
,这样结果就会是'bbbb'
。java的
replace
默认是替换所有,js的替换第一个js的要用替换所有要用
replace(/x/g, 'y')