Мне нужно отправить путь к папке в MySQL. Поэтому я избежал каждой обратной косой черты. Путь к отправке через JavaScript будет:Эффективное создание пути папки с обратными косыми чертами
\\\\192.168.0.1\\foo\\bar
Это в конечном счете будет сохранен как (in db)
:
\\192.168.0.1\foo\bar
Итак, я написал следующий код:
fpath = fpath.replace(/\\+/g,'\\\\'); // Replace multiple occurences of backslash with double backslash
var fpathLen = fpath.length;
if(fpath.charAt(fpathLen-1) == '\\')
fpath = fpath.substring(0,fpathLen-2); // Remove the trailing backslash if any
if(fpath.charAt(0) == '\\') {
fpath = '\\\\' + fpath; // Add 2 more backslash before sending the string to MySQL
}
else
fpath = '\\\\\\\\' + fpath; // If string is without a leading backslash, insert 4 backslash
Но это Безразлично Кажется, это эффективный способ сделать что-то! Например, я добавил вручную 4
, в другом случае 8
обратную косую черту, чтобы сделать ее 2
и 4
соответственно на стороне js
. Есть ли лучший способ достичь этого?
Edit: Для ввода пути, как fpath = \\1.1.1.1\\\\\\\\foo\bar\\\config
, выход должен быть \\\\192.168.0.1\\foo\\bar
Является ли требование заменить '\\\\ 192.168.0.1 \\ Foo \\ bar' с' \\ 192.168.0.1 \ foo \ bar'? – guest271314
@ guest271314 Нет. Для входного пути, такого как: '\\ 192.168.0.1 \ foo \ bar \', необходимо преобразовать в '\\\\ 192.168.0.1 \\ foo \\ bar' –