Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
ВнизПодскажите, как вырезать часть строки до слеша? Найти похожие ветки
← →
Сергей (2008-05-19 15:34) [0]Есть путь к файлу (c:\vcli\kript_file\Uncript\MLS2008.05.19\), нужно вырезать часть строки до второго слеша справа чтобы получилось c:\vcli\kript_file\Uncript. Пути будут меняться. Если не сложно напишите код или ссылку. Спасибо.
← →
Virgo_Style © (2008-05-19 15:41) [1]ExtractFileDir( ExcludeTrailingBackslash( ... ) );
Это если "я его слепила из того, что было". Оптимально в плане скорости написания, а не быстродействия :-) Иначе - считать слеши справа налево, найдя второй - обрезать все, что правее.
← →
Werewolf-Prankster (2008-05-19 15:43) [2]var i,sl:integer; ulr1,url2:string //sl - счетчик слешей, url1,url2, где 1-й начальное значение пути, 2-й результат
sl:=0;
url1:=(путь);
for i:=1 to length(url1) do
if sl<3 then
begin
url2[i]:=url1[i];
if url1[i]:="/" then
sl:=sl+1;
end;
Теперь в переменной url2 у тебя находится нужный адресс.
← →
Alarm © (2008-05-19 15:46) [3]Сначала необходимо определиться со сторонами (право и лево). Из примера совсем не следует, что это "часть строки до второго слеша справа".
А по существу поможет:
Copy(..., Pos(...), ...);
← →
Werewolf-Prankster (2008-05-19 15:53) [4]Виноват, это как раз слева.
Попробуем еще раз )
var i,sl,tmp:integer; ulr1,url2:string //sl - счетчик слешей, url1,url2, где 1-й начальное значение пути, 2-й результат
sl:=0;
url1:=(путь);
for i:=length(url1 down to 1 do
begin
if url1[i]="/" then
sl:=sl+1
if sl=2 then
tmp:=i;
end; //узнаем номер символа в котором находится слеш
for i:=1 to tmp do
url2[i]:=url1[i];//обрезаем урл
← →
Сергей (2008-05-19 17:13) [5]Спасибо всем, за помощь.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c