java中,replaceAll方法中的问题

java中,replaceAll(cha1,cha2)方法中一般情况下可以用cha1替换掉cha2,但是为什么cha1是“*”的时候就替换不掉呢?没分了不好意思Strin... java中,replaceAll(cha1,cha2)方法中一般情况下可以用cha1替换掉cha2,但是为什么cha1是“*”的时候就替换不掉呢?没分了不好意思
String name="abc%d%a%f###%s*adj";
String str = name.replaceAll("*","%");
System.out.println(str);
就会报错。
String name="abc%d%a%f###%s*adj";
String str = name.replaceAll("%","*");
System.out.println(str);
则会成功输出
如果把*改[*]就可以成功输出
展开
 我来答
flyingFish211
推荐于2016-05-05 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
public String replaceAll(String regex,
String replacement)使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
此方法调用的 str.replaceAll(regex, repl) 形式产生与以下表达式完全相同的结果:

Pattern.compile(regex).matcher(str).replaceAll(repl)

参数:
regex - 用来匹配此字符串的正则表达式

replacAll要用正则表达式,所以[*]就可以,[*]表示*
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式