2014-10-28 100 views
0

更换所有ocurrences我的下一个字符串:通过字符串包含特殊字符在Java

String var = "Hello NAME_USER, welcome to NAME_USER, your name is NAME_USER"; 

我想要替换的NAME_USER所有出现的问题是,当NAME_USER有特殊字符(例如:!"#$%&/()=)(/&%),一java.lang.IllegalArgumentException被抛出。

的完整代码:

String var = "Hello NAME_USER, welcome to NAME_USER, your name is NAME_USER"; 
var = var.replaceAll("NAME_USER","!#$%&/()=)(/&%"); 

例外:

java.lang.IllegalArgumentException: Illegal group reference 
    at java.util.regex.Matcher.appendReplacement(Matcher.java:857) 
    at java.util.regex.Matcher.replaceAll(Matcher.java:955) 
    at java.lang.String.replaceAll(String.java:2210) 
    at com.vupc.colegios.infraestructura.utilitarios.UtilitarioPlantilla.reemplazarTexto(UtilitarioPlantilla.java:119) 

注:NAME_USER可以是任何String更换。

有什么办法解决这个问题吗?

回答

1

使用String#replace()代替:

String var = String.format("Hello %1$s, welcome to %1$s, your name is %1$s", username); 
相关问题