2010-02-11 19 views

risposta

65
str = str.replaceAll("\\\\", ""); 

o

str = str.replace("\\", ""); 

replaceAll() considera il primo argomento come un'espressione regolare, quindi è necessario eseguire il doppio escape del backslash. replace() lo considera come una stringa letterale, quindi devi solo sfuggire una volta.

4

si può semplicemente utilizzare String.replaceAll()

String foo = "hai how are\\ you?"; 
String bar = foo.replaceAll("\\\\", ""); 
+0

hey ringrazio di cuore ........... –

+2

Umm ... è corretto? Non hai bisogno di sfuggire al "\" due volte? Una volta per la stringa letterale e una volta per la regex; per esempio. 'foo.replaceAll (" \\\\ "," ")' –

+0

@Stephen, sembra che tu sia corretto, corretto di conseguenza –

-5

String foo = "hai come stai \" ?; String bar = foo.replaceAll ("\\", ""); Non funziona java.util.regex.PatternSyntaxException si verifica .... Scopri il motivo !! @Alan ha già risposto .. buono

String bar = foo.replace ("\\", ""); Funziona

Problemi correlati