转自:http://blog.sina.com.cn/s/blog_5529c82601014r3e.html
在使用String.replaceAll(regex,replacement)方法时,当replacement出现反斜杠\或美元符号$时会出现java.lang.IndexOutOfBoundsExceptio
如果是1.4
手写以下方法即可实现
-
-
public static String quoteReplacement(String s) { -
if ((s.indexOf('\\') == -1) && (s.indexOf('$') == -1)) -
return s; -
StringBuffer sb = new StringBuffer(); -
for (int i=0; i<s.length(); i++) { -
char c = s.charAt(i); -
if (c == '\\') { -
sb.append('\\'); sb.append('\\'); -
} else if (c == '$') { -
sb.append('\\'); sb.append('$'); -
} else { -
sb.append(c); -
} -
} -
return sb.toString(); -
}