当正则表达式碰上"$" 或"\"

在java中使用到正则表达式,比如String.replace, String.replaceAll,
String.replaceFirst,Pattern.compile等等的时候,你得小心了。

你可能收到一个异常。
类似下面的url描述的bug:


http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325596


http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4689750


http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6280695



至此,你要为Sun的Bug埋单。
如果你要处理的字符串将在页面显示,你可以把他进行
    URL Encoding http://www.w3schools.com/TAGS/ref_urlencode.asp
.然后再继续使用。


i.e.
//replace all $ with %24;
private static String convertDollar(String source) {
		 StringBuffer result = new StringBuffer();
		 for(int index = 0; index < source.length(); index++) {
			 result.append(source.charAt(index) == '$' ? "%24" : source.charAt(index));    
         }
		 return result.toString();
    }

你可能感兴趣的:(java,jdk,正则表达式,asp,sun)