0

文字列内のすべての括弧を二重引用符に置き換えたい。

私はこれがうまくいくと思った:

"[foo".replaceAll(Pattern.quote("["), Pattern.quote("""));

しかし、そうではありません。私が何をする必要があるかを理解するのを手伝ってくれる人はいますか?

4

5 に答える 5

5

引用符をエスケープする必要があります

"[foo".replaceAll(Pattern.quote("["), "\""); 
于 2012-04-20T22:43:30.543 に答える
5

replaceAllは文字列を取ります

"[foo".replaceAll("\\[", "\""));

正規表現文字列をテストするのに適した場所としてこれを追加することもできます

于 2012-04-20T22:45:28.913 に答える
1
"[foo".replaceAll("\\[", "\"")

文字列内の特殊文字をエスケープするには、「\の前に\を付けると、\ "は"になり、\\は\になります。

于 2012-04-20T22:47:41.743 に答える
1
"[foo".replaceAll(Pattern.quote("["), "\"") ;

2 番目の引数 - replacement - は共通の文字列です (引用符は必要ありません)。

于 2012-04-20T22:55:18.767 に答える
0

以下の作品:

"[foo".replaceAll("\[", "\\"")

ノート:

  1. replaceAll は、最初の引数を正規表現として解釈します。
  2. (正規表現のコンテキスト内で) 開始ブラケットをエスケープする必要があります。そうしないと、不正な形式になります。
于 2012-04-20T22:52:11.227 に答える