用java中的特殊字符替换字符串中的所有引用
我有下一个字符串:用java中的特殊字符替换字符串中的所有引用,java,string,replace,pattern-matching,match,Java,String,Replace,Pattern Matching,Match,我有下一个字符串: String var = "Hello NAME_USER, welcome to NAME_USER, your name is NAME_USER"; 我想替换所有出现的NAME\u USER,问题是当NAME\u USER具有特殊字符时(例如:!“$%&/()=)(/&%),会引发java.lang.IllegalArgumentException 完整代码: String var = "Hello NAME_USER, welcome to NAME_USER, y
String var = "Hello NAME_USER, welcome to NAME_USER, your name is NAME_USER";
我想替换所有出现的NAME\u USER
,问题是当NAME\u 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\u USER
可以用任何字符串替换
有什么办法解决这个问题吗?使用String.replace(CharSequence,CharSequence)。使用而不是
或使用数字参数:
String var = String.format("Hello %1$s, welcome to %1$s, your name is %1$s", username);