java字符串替换字符时,遇到"/?"出现的问题。

(1)String str = "ABCDEF"; str = str.replaceFirst("/?","X"); 输出str为XABCDEF (2)String str = "ABCDEF"; str = str.replaceAll("/?","X"); 输出str为XAXBXCXDXEXFX (3)String str = "ABCDEF"; str = str.replace("/?","X"); 输出str为ABCDEF 请问java中"/?"有何特殊意义?将“/?”换成" ?"(空格+问号)也会出现这种情况,这究竟是为啥啊?望大神指教!

#Java工程师#
全部评论
大概是正则表达式吧
点赞 回复 分享
发布于 2017-06-17 09:53
正则表达式,replaceFirst()或者replaceAll是用正则去匹配替换的啊,"/?"意思是匹配"/"0次或者1次。
点赞 回复 分享
发布于 2017-06-17 15:26
得遍历啊
点赞 回复 分享
发布于 2017-06-18 23:22
/?被识别为?,表示未知,任意,String作为一个类,我没看过源码,应该不是简单的字符数组,在每个字符前后都安排了一个位置
点赞 回复 分享
发布于 2017-06-19 13:12

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务