@Neonoviiwolf
Flutter developer

Как заменить в строке «\» на «\\»?

Доброго
Где-то видел как это делается, но не могу найти
мне нужно C:\1.jpg превратить в C:\\1.jpg
точнее делается наверно через replace, но он подчёркивает их как спец символы
  • Вопрос задан
  • 398 просмотров
Решения вопроса 1
Gordigev
@Gordigev
Постигаю android разработку
String s1 = "C:\\1.jpg";
String s2 = s1.replace("\\", "\\\\");
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
iSmoke
@iSmoke
String s1 = "C:\1.jpg";
String s2 = s1.replaceAll("\", "\\");
Ответ написан
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
Ответ уже дали но объясню причину. Символ "\" является экраном следующего символа за ним. Т.е. "\\" скажет компилятору что следующий символ за "\" будет "\". Поэтому если нужно заменить одинарный "\" на двойной необходимо экранировать каждый "\" , для это будет "\\" после чего останется только один "\" а для двойного уже 4 символа "\\\\" из которых откинется первый и 3й экран оставив два "\\" .
Есть еще управляющие символы:
\n -перенос строки
\t - табуляр (какбудто нажал кнопку tab т.е. большой пробел)
\Q набор символов \E - тоже что и обычный "\" но экранирует все содержимое между \Q и \E
И еще большой списочек.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы