Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何替换';{Name}';在爪哇_Java_Special Characters - Fatal编程技术网

Java 如何替换';{Name}';在爪哇

Java 如何替换';{Name}';在爪哇,java,special-characters,Java,Special Characters,我需要用值替换字符串中的值,如{Name} 如何替换特殊字符{和} 我试过这个: str.replaceAll("{Name}","A"); 但是如果我们有特殊字符,这就不起作用。根据,.replaceAll(String regex,String replacement)方法将正则表达式作为第一个参数 恰好{和}在正则表达式语法中具有特殊意义,因此需要转义。尝试使用str.replaceAll(\{Name\\},A”) 前面额外的\指示正则表达式引擎将{和}作为实际字符(没有特殊含义)进行

我需要用值替换字符串中的值,如
{Name}

如何替换特殊字符
{
}

我试过这个:

str.replaceAll("{Name}","A");
但是如果我们有特殊字符,这就不起作用。

根据,
.replaceAll(String regex,String replacement)
方法将正则表达式作为第一个参数

恰好
{
}
在正则表达式语法中具有特殊意义,因此需要转义。尝试使用
str.replaceAll(\{Name\\},A”)

前面额外的
\
指示正则表达式引擎将
{
}
作为实际字符(没有特殊含义)进行威胁。因为这是Java,所以还需要转义
\
字符,这就是为什么需要两个字符的原因。

使用而不是
replaceAll
,因为
replace
不期望并解析正则表达式

例如:()

输出:

Before: Here it is: {Name} And again: {Name} After: Here it is: A And again: A Before:这里是:{Name},再次是:{Name} 之后:这里是:A,再次是:A
尝试用str.replaceAll(“\\{Name\\}”,“A”)替换字符
replaceAll
对于文字替换来说是过度杀戮。过度杀戮但很流行,从一个代码复制到下一个代码而不使用任何reflection@npinti:什么循环
replace
替换所有发生的事件,就像
replaceAll
一样。@T.J.Crowder:是的,对不起,我的错,把它和其他东西混淆了。谢谢你。。使用转义字符,str.replaceAll(“\\{Name\\}”,“A”); Before: Here it is: {Name} And again: {Name} After: Here it is: A And again: A