public static void main(String[] args) {
String k="adasd";
k=k.replaceAll("d","a$");
System.out.println(k);
}
执行后为什么报错呢?java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.charAt(String.java:444)
at java.util.regex.Matcher.appendReplacement(Matcher.java:559)
at java.util.regex.Matcher.replaceAll(Matcher.java:661)
at java.lang.String.replaceAll(String.java:1663)
at Test.main(Test.java:15)
Exception in thread "main"
String k="adasd";
k=k.replaceAll("d","a$");
System.out.println(k);
}
执行后为什么报错呢?java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.charAt(String.java:444)
at java.util.regex.Matcher.appendReplacement(Matcher.java:559)
at java.util.regex.Matcher.replaceAll(Matcher.java:661)
at java.lang.String.replaceAll(String.java:1663)
at Test.main(Test.java:15)
Exception in thread "main"
k = k.replaceAll("d","a~");
k = k.replace('~', '$'); System.out.println(k);
String k = "adasd";
char[] arr = k.toCharArray();
for (int i = 0; i < arr.length; i++)
{
if (arr[i] == 'd')
{
arr[i] = '$';
}
}
System.out.println(String.valueOf(arr));
正解
===
正则里的特殊字符可以用\转义