String的replaceAll方法小记

Author : lovecicy

今天用到了String的replaceAll()方法,传递了两个参数,结果抛出异常了。

我的代码是:

someString.replaceAll(“+”,” “);

就是把字符串中的所有“+”替换成空格,但是因为第一个参数传的不对,结果抛出了java.util.regex.PatternSyntaxException: Dangling meta character ‘+’ near index 0
的异常。

api中关于String对象的replaceAll()方法的定义为:

public String replaceAll(String regex,String replacement)

Parameters:

regex – the regular expression to which this string is to be matched

也就是说,第一个参数为正则表达式,而我在代码中传递的第一个参数“+”因为在正则表达式中有特殊含义,所以需要将其转义。只要将第一个参数修改为“\\+”进行转义即可。

standard
  1. Arlindo - 2012 年 11 月 19 日 3:32 下午

    Great post with lots of ipmotrant stuff.

    回复

Have your say