Как заменить «символ в Java»? - PullRequest
0 голосов
/ 14 сентября 2011

у меня

String a = "data=\"0\"1\"1\"1\"1\"0\"0\"0\"0\"0\"0\"1\"1\"1\"1\"0\"0\"0\"0\"0\"1\"1\"1\"1\"1\\\\";

Как я могу заменить

  • " до \"
  • и \ до \\

String result = a.replace("\"", "\\\"");

OR

String result = a.replace(""", "\"");

Ответы [ 4 ]

2 голосов
/ 14 сентября 2011
String result = a.replace("\\","\\\\").replace("\"", "\\\"");

Это сначала заменит все \ на \\, а затем все " на \", если вы этого хотите.

Обратите внимание, что в противном случае результат будет заменен " на \\", так как сначала он будет заменен на \", а затем \ будет заменен на \\. в \\".

Дополнительное примечание: ваша строка данных не правильно сформирована и не должна компилироваться: она заканчивается на \", который не является допустимым строковым литералом-разделителем (литерал заканчивается на \\\\\", который будет являться строковыми данными \\" ) - измените его на четное число косых черт или добавьте еще один " в конец, чтобы исправить это.

1 голос
/ 14 сентября 2011

вы строковая ошибка, минус цитата

Строка a = "data = \" 0 \ "1 \" 1 \ "1 \" 1 \ "0 \" 0 \ "0 \" 0 \ "0 \" 0 \ "1 \" 1 \ " 1 \ "1 \" 0 \ "0 \" 0 \ "0 \" 0 \ "1 \" 1 \ "1 \" 1 \ "1 \\\" ";

System.out.println (a.replace ("\" "," \\\ ""));

1 голос
/ 14 сентября 2011

бывший. Последний не является правильно сформированным кодом Java.

0 голосов
/ 14 сентября 2011

Так как "String result = a.replace (" "", "\" ");"не компилируется, это отвечает на ваш вопрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...