3

任何人都可以帮我替换java中的字符串中的'{'

例如

String str = "abc{ad}";
str = str.replace("{","(");

但这似乎是不可能的。

4

3 回答 3

5

String#replace(char,char)做到这一点并适合一个角色。您所要做的就是将您的replace()调用切换为:

str = str.replace('{','(');
 //               ^ ^ ^ ^
 //             not the ' instead of "

但是,String在 java 中是不可变的,因此您无法更改它1,您只能生成具有这些属性的新字符串对象。


(1)无论如何都不容易,可以用反射API完成,但建议这样做。

于 2012-12-26T10:00:51.203 回答
2

{并且(是 java 中的元字符,你应该用反斜杠转义它们。并且String.replace不使用正则表达式,使用[String.replaceAll][1]orString.replaceFirst代替

str = str.replaceAll("\\{","\\(");
于 2012-12-26T09:52:46.283 回答
0

这将适用于

String strAll = "abc{ad}";
strAll = strAll.replaceAll("\\{","(");
于 2012-12-26T10:01:30.077 回答