String s="aaa.bbb.ccc";
System.out.println(s.indexOf("."));
System.out.println(s.split(".").length);
String s1=s.replaceAll(".", ";");
System.out.println(s1);
输出结果出人意料啊。
replaceAll是基于正则表达式的,在java api中有:
String
replaceAll(String regex, String replacement)
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
因此,符号 . 在正则表达式中的意思是匹配字符串中的任意字符,那么在执行
String s1=s.replaceAll(".", ";");
的时候,会将所有的字符都更改为“;"。
---------------------------------------------------------
想要将字符串中的“."更改为”;", 可以通过以下两种方式实现:
1. String s1=s.replaceAll("\\.", ";");
2. String s1=s.replaceAll("[.]", ";");
---------------------------------------------------------
更多正则表达式相关的内容请参见:
@螺帽:不客气
replaceAll是基于正则式替换的,. 是匹配除换行符以外的任意字符