Просмотр полной версии : обратный слеш "\"
Здрасть.
не могу корректно разобрать строку :( Возник вопрос с обратным слешем.
дело в том, что обратный слеш можно отобразить только таким образом "\\"
loc_str = "csdf\sdfsd\dfsdd\name.exe";
var n1 = loc_str.lastIndexOf("\\");
var n2 = loc_str.lastIndexOf(".");
fname = loc_str.substring(n1, n2);
trace("fname "+fname);
выводится должно name
что не так, подскажите плз
loc_str = "csdf\\sdfsd\\dfsdd\\name.exe";
да, я понимаю. это тоже первое, что я хотел сделать.
но исходная строка именно с одинарным слешем.
значит нужно заменить одинарный слеш на двойной. но тут то сталкиваемся с той же проблемой, то и в первом посте.
loc_str = "csdf\sdfsd\dfsdd\name.exe";
loc_str = ReplaseOneWithEnather(loc_str, "\\", "\\\\");
trace(loc_str)
//параметры: строка, что заменять, на что заменять
function ReplaseOneWithEnather(str, simb1, simb2) {
var tmp_str = "";
var tmp_array1 = str.split(simb1);
for (var i = 0; i<tmp_array1.length; i++) {
tmp_str += tmp_array1[i];
if (i != tmp_array1.length-1) {
tmp_str += simb2;
}
}
return (tmp_str);
}
другими словами никак нельзя найти символ "\"
Не надо ничего подобного делать, работающее решение я привел в первом посте. И то, что исходная строка с одинарными слешами вам только кажется. Прочитайте, что такое одинарный слеш и почему для вывода нормального слеша нужно ставить два.
2morrowMan
08.01.2008, 14:42
Откуда берется loc_str? Возможно там уже стоит "\\", но вы об этом не знаете...
†‡Paladin‡†
08.01.2008, 15:00
Откуда берется loc_str? Возможно там уже стоит "\\", но вы об этом не знаете...
омг.. Что значит откуда? Там явное присваивание первой же строчкой. Автор до сих пор не проэкранировал слэш в своем коде.
сорри, сам глупость написал.
все решилось.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.