Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   обратный слеш "\" (http://www.flasher.ru/forum/showthread.php?t=106274)

vladius 08.01.2008 13:25

разобрать строку с обратным слешем "\"
 
Здрасть.
не могу корректно разобрать строку :( Возник вопрос с обратным слешем.
дело в том, что обратный слеш можно отобразить только таким образом "\\"

Код:

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

что не так, подскажите плз

etc 08.01.2008 13:41

Код:

loc_str = "csdf\\sdfsd\\dfsdd\\name.exe";

vladius 08.01.2008 13:58

да, я понимаю. это тоже первое, что я хотел сделать.
но исходная строка именно с одинарным слешем.
значит нужно заменить одинарный слеш на двойной. но тут то сталкиваемся с той же проблемой, то и в первом посте.

Код:

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);
}

другими словами никак нельзя найти символ "\"

etc 08.01.2008 14:02

Не надо ничего подобного делать, работающее решение я привел в первом посте. И то, что исходная строка с одинарными слешами вам только кажется. Прочитайте, что такое одинарный слеш и почему для вывода нормального слеша нужно ставить два.

2morrowMan 08.01.2008 14:42

Откуда берется loc_str? Возможно там уже стоит "\\", но вы об этом не знаете...

†‡Paladin‡† 08.01.2008 15:00

Цитата:

Сообщение от 2morrowMan
Откуда берется loc_str? Возможно там уже стоит "\\", но вы об этом не знаете...

омг.. Что значит откуда? Там явное присваивание первой же строчкой. Автор до сих пор не проэкранировал слэш в своем коде.

vladius 08.01.2008 15:20

сорри, сам глупость написал.
все решилось.


Часовой пояс GMT +4, время: 05:02.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.