3

誰かがJavaの文字列内の「{」を置き換えるのを手伝ってくれますか

例えば

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

しかし、これは不可能のようです。

4

3 に答える 3

5

String#replace(char,char)それを行い、1つのキャラクターに適合します。replace()呼び出しを次のように切り替えるだけです。

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

ただし、StringJava では不変であるため変更できません1。これらのプロパティを持つ新しい文字列オブジェクトのみを生成できます。


(1) とにかく簡単ではありません。リフレクション APIで実行できますが、お勧めできません。

于 2012-12-26T10:00:51.203 に答える
2

{および(はJavaのメタ文字であるため、バックスラッシュを使用してエスケープする必要があります。正規表現をString.replace使用せず、使用する[String.replaceAll][1]か、String.replaceFirst代わりに

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

これは

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