你能帮我翻译一下如何在Java中替换字符串内的'{'吗?
例如:
String str = "abc{ad}";
str = str.replace("{","(");
但是这似乎是不可能的。
String#replace(char,char)
可以用于替换一个字符。你只需要将replace()
调用更改为:
str = str.replace('{','(');
// ^ ^ ^ ^
// not the ' instead of "
然而,在Java中,String
是不可变的,因此您无法更改它1,您只能使用这些属性生成一个新的字符串对象。
(1) 换句话说,您不能轻松地更改它,虽然可以通过反射API来完成,但不建议这样做。
{
和(
是Java中的元字符,您应该使用反斜杠进行转义。而String.replace
不使用正则表达式,应该使用[String.replaceAll][1]
或String.replaceFirst
。
str = str.replaceAll("\\{","\\(");
这将适用于
String strAll = "abc{ad}";
strAll = strAll.replaceAll("\\{","(");
replace
函数只替换字符而不是字符串。 - Peter Lawrey