我需要用值替换字符串中的一个值,例如{Name}
。
我们如何替换特殊字符{
和}
?
我尝试过这个:
str.replaceAll("{Name}","A");
但是如果我们有特殊字符,这种方法就不起作用了。
我需要用值替换字符串中的一个值,例如{Name}
。
我们如何替换特殊字符{
和}
?
我尝试过这个:
str.replaceAll("{Name}","A");
但是如果我们有特殊字符,这种方法就不起作用了。
根据JavaDoc,.replaceAll(String regex, String replacement)
方法将正则表达式作为第一个参数。
正好在正则表达式语法中,{
和}
具有特殊意义,因此需要进行转义。尝试使用str.replaceAll("\\{Name\\}","A");
。
前面多出的\
指示正则表达式引擎将{
和}
视为实际字符(而不是其特殊含义)。由于这是Java,您还需要转义\
字符,因此需要两个。
replace
会替换所有出现的内容,就像replaceAll
一样。 - T.J. CrowderT.J. Crowder
建议的更好。不客气。 - npinti