2012-03-13 15 views
5

$記号で値を置き換えるためにこのメソッドを実行しているときに私はbouns例外のインデックスを検出した理由を誰に助言できますか?ドル記号のすべてを交換することができません

など。私は、このフォーラムのスレッドを見てみましたが、内容を理解couldntの$$vmdomodm$$

message = message.replaceAll("$", "$"); 

メッセージを渡す

http://www.coderanch.com/t/383666/java/java/String-replaceAll

+0

を。それは意味をなさない。 –

+0

'replaceAll'は引数として正規表現をとり、' $ '式は行の終わりと一致します。結果として、あなたは正確に何を期待していますか? –

+0

申し訳ありませんが、私はそれを更新する必要があります:message = message.replaceAll( "$"、 "$"); –

答えて

27

それであるあなたがエスケープ文字に

てみてくださいを使用する必要がある特殊文字これで\\$

あなたのコードには意味がありません電子同じ

String message = "$$hello world $$"; 
message = message.replaceAll("\\$", "_"); 
System.out.println(message); 

出力でコンテンツを交換しようと

__hello world __ 

更新

String message = "$hello world $$"; 
    message = message.replaceAll("$", "\\$"); 
    System.out.println(message); 

出力

$hello world $$ 
+0

申し訳ありませんが私は更新されている必要があります:message = message.replaceAll( "$"、 "$"); –

+0

あなたはそのコードで何をしようとしていますか? –

+0

私はhtmlエンティティコード$を同等のASCIIコードに変換しようとしています。 –

3

あなたが本当に任意の正規表現を使用していないので、代わりにでReplaceAllのあなたは、このようなString#replace方法使用する必要がありますので:変更することができます何を意味するあなたが$で$をreplaceingている

message = message.replace("$", "$"); 
関連する問題