Java - Как заменить заменить символ \ на \\ , с помощью replaceall ?

Ответить
Аватара пользователя
Большой Кол

Java - Как заменить заменить символ \ на \\ , с помощью replaceall ?

Сообщение Большой Кол »

Добрый день

Собственно вопрос - пишу





public class Main {

public static void main(String[] args) {

JFileChooser fileChooser = new JFileChooser();

fileChooser.showOpenDialog(null);

String s = fileChooser.getSelectedFile().getPath();

String s1 = s.replaceAll("\\", "\\" + "\\");

System.out.print (s1);

/*File file = new File (s1);



String[] str = file.list();

int l = str.length;

for (int a = 0 ; a
Аватара пользователя
Большой Кол

Re: Java - Как заменить заменить символ \ на \\ , с помощью replaceall ?

Сообщение Большой Кол »

Блин отныне моя жизнь посвещана не кодированию, а поискам того кто изобрел джаву

Вот как надо replaceAll("\\\\", "\\\\\\\\")
Аватара пользователя
Delirium

Re: Java - Как заменить заменить символ \ на \\ , с помощью replaceall ?

Сообщение Delirium »

Таким образом слеш меняется во всех языках. Связано это с тем, что знак "\" используется при написании служебных символом, таких как "\n", "\b" и т.д. Поэтому при замене надо писать вместо \ - \\.

Кстати, в файлах реестра для Windows тоже двойные слеши в имени пути используются.
Аватара пользователя
El Scorpio

Re: Java - Как заменить заменить символ \ на \\ , с помощью replaceall ?

Сообщение El Scorpio »

Цитата Delirium:



Таким образом слеш меняется во всех языках. Связано это с тем, что знак "\" используется при написании служебных символом, таких как "\n", "\b" и т.д. Поэтому при замене надо писать вместо \ - \\.
Java - Как заменить заменить символ \ на \\ , с помощью replaceall ?




Если нужно вбить в код программы строку, содержащую кавычки, эти кавычки также пишутся через слэш \' - одинарная кавычка, \" - двойная кавычка
Ответить

Вернуться в «Программирование и базы данных»