2014-10-28 144 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); 
相關問題