Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как удалить слово из строки [D5, D6, Win95/98, WinME, NT4, WinXP]


VS2001 ©   (2002-07-10 06:29:00) 

Как из строки, например: "c:\program files\common\proga" удалить
слово "\proga", т.е. чтобы осталось c:\program files\common


Zlobny   (2002-07-10 10:25:00) [1]

В общем случае может быть полезна функция LastDelimiter(<разделители>,<строка>), которая определяет позицию последнего разделителя(лей) в строке: p:=LastDelimiter("\/",s)


AlexanderVasjuk   (2002-07-10 10:24:00) [2]

delete(S, LastDelimiter("\", S), MaxInt);


Fiend   (2002-07-10 10:22:00) [3]

То MBo ©
это в частном случае Екстракт, а в принципе, если там неизвестно что за строка то StringReplace


MBo   (2002-07-10 10:15:00) [4]

велосипед для данного случая называется ExtractFileDir


Fiend   (2002-07-10 09:47:00) [5]

Помоему самый лучший выход это StringReplace. Ровно одна функция


IlyaA   (2002-07-10 09:45:00) [6]

С начала найди где енто слово находится.
Pos(<слово>,<строка>)
А за тем удали
Delete(<строка>,Pos(<слово>,<строка>),Length(<слово>))


BAY   (2002-07-10 09:43:00) [7]

PS тока в while добавь проверку на отсутствие "\" вообще.
например
...
while (S[i]<>"\") and (i>0) do
...


BAY   (2002-07-10 09:41:00) [8]

i:=Length(S);
while S[i]<>"\" do
dec(i);
Setlength(S,i-1);


Kaban   (2002-07-10 09:03:00) [9]

господи, да удаляй просто по одному символу с конца, пока слэш не встретишь


Dimich1978   (2002-07-10 08:56:00) [10]

http://delphibase.endimus.com/?action=viewfunc&topic=winappctrl&id=10260
Посмотри там пример похож, но там разделение на составляющие. Ну думаю и удалить не сложно.


MBo   (2002-07-10 07:19:00) [11]

pos delete

в данном случае подойдут ExtractFileDir и ExtractFilePath


Наверх

Титульная страница Поиск, карта сайта Написать письмо