在实验一些东西的时候得到的很怪的结果,不懂原理,求教:代码如下:
String s = "AA";
System.out.println(s);//打印原先的字符串,便于比较
System.out.println(s.replaceAll("", "谭"));//被替换的东西是空格。
s = "\\AA";
System.out.println(s);
//想将字符串 s 中的单个反斜杠 替换为两个,想在处理一些字符串时使用,比如用户通过控制台输入的字符串。即使没有人工处理仍可正常打印
//System.out.println(s.replaceAll("\\", "\\\\")); 编译失败
System.out.println(s.replaceAll("\\\\", "\\\\")); //没有达到效果
System.out.println(s.replaceAll("\\\\", "\\\\\\\\")); //达到预期效果。
System.out.println(s.replaceAll("\\A", "谭")); //这句代码连我自己也不知道是什么意思,不过出了个很怪的结果。还有为什么加上一个其他的内容就能通过编译,单纯用 "\\"就无法通过编译。
可是出现很奇怪的结果。
s = "";
System.out.println(s.replaceAll("", "谭"));
s = "aaa";
String[] temp = s.split("");
for(String t: temp){
System.out.println(t);
}
程序运行结果如下:
AA
谭A谭A谭
\AA
\AA
\\AA
谭\AA
谭
a
a
a |
|