Как дублировать символ backsla sh в строке? - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь продублировать символы backsla sh внутри строки. Строка является путем к каталогу! Я написал функцию, но она не возвращает правильный результат!

Когда я тестировал функцию с

C:\Users\Asus i7\Desktop\untitled1ghthr\src\sample\panda.mp3

, она возвращает

C:\\User\s\Asus \i7\Desk\top\untitled1g\hth\r\src\\sample\panda.mp3

Пока я хочу это вернуть

C:\\Users\\Asus i7\\Desktop\\untitled1ghthr\\src\\sample\\panda.mp3

код функции

public StringBuffer add(String ch) {
    StringBuffer str = new StringBuffer(ch);
    for(int i=0;i<ch.length();i++){
        if (ch.charAt(i)=='\\'){
            str.insert(i, '\\');
        }
    }
    return str;
}

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Рассмотрите возможность использования Paths.get: документация

Метод, который вы пытаетесь использовать, не будет работать на всех ОС.

0 голосов
/ 27 апреля 2020
str.replaceAll("\\","\\\\"); //instead of insert method
...