2012-03-13 14 views
5

qualcuno può consigliare perché ho riscontrato l'eccezione di eccezioni durante l'esecuzione di questo metodo per sostituire il valore con il segno $?Non è possibile sostituire tutto per il simbolo del dollaro

E.g. Io passo in un messaggio $$vmdomodm$$

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

ho provato a guardare a questo thread del forum, ma riuscivo a comprendere il contenuto

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

+0

Stai replaceing $ con $ che non significa nulla può cambiare. Ciò non ha senso. –

+0

'replaceAll' prende un'espressione regolare come argomento e l'espressione' $ 'corrisponde alla fine di una riga. Che cosa ti aspetti esattamente di conseguenza? –

+0

Spiacente di averlo aggiornato dovrebbe essere: message = message.replaceAll ("$", "$"); –

risposta

27

E 'carattere speciale è necessario utilizzare caratteri di escape

Try con questo \\$

e non ha senso nel tuo codice sei ar e cercando di sostituire il contenuto con la stessa

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

uscita

__hello world __ 

Aggiorna

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

uscita

$hello world $$ 
+0

Spiacente di averlo aggiornato dovrebbe essere: message = message.replaceAll ("$", "$"); –

+0

Che cosa stai cercando di fare in quel codice? –

+0

Sto provando a convertire il codice di entità html $ nel suo equivalente di codice ASCII. –

3

Dal momento che non siete realmente utilizzando qualsiasi regex così invece di replaceAll si dovrebbe utilizzare String#replace metodo come questo:

message = message.replace("$", "$"); 
Problemi correlati