2009年2月19日星期四

String replace有问题吗?!

System.out.println("abacae".replaceAll("a", "@"));
System.out.println("abacae".replaceAll("a", "$"));

执行结果:
@b@c@e
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1

当替换成$时就出异常,没兴趣再查就String实现,自己实现得了不过就3行代码:
int idx;
while((idx = input.indexOf("a")) != -1){
input= input.substring(0, idx) + "$" +input.substring(idx + 1);
}

没有评论: