Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2007, 16:11   #1
scorpik_olga
 
Регистрация: 10.04.2007
Сообщений: 5
По умолчанию в Делфи3 выбор подстроки

Всем привет!
Уже неделю мучаю код и чего-то догнать не могу.
мне нужно получить из строки типа ///3568/79/125///5/
строку 3568_79_125_5
функция replace text в Delphi3 не работает. У меня или все / удаляются или заменяются на _. а если проверка работает, то только на первом символе и все.
Помогите!
scorpik_olga вне форума Ответить с цитированием
Старый 10.04.2007, 16:53   #3
scorpik_olga
 
Регистрация: 10.04.2007
Сообщений: 5
По умолчанию

Цитата:
Сообщение от dron-s Посмотреть сообщение
pos + copy + delete
Спасибо, очень умно.
мне эти функции уже сняться - никак не докопаюсь до нормального алгоритма
scorpik_olga вне форума Ответить с цитированием
Старый 10.04.2007, 17:16   #4
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

var i:integer; //просто так
s: string; //наша строка
//делаем так, чтоб не встречалось более 1 слеша подряд
While pos('//',s)<>0 do
begin
i:=pos('//',s);
delete(i,2);
insert('/',s,i);
end;
//заменяем все слеши на _
While pos('/',s)<>0 do
begin
i:=pos('/',s);
delete(i,1);
insert('_',s,i);
end;

Код не проверял, так написал. Осталось удалить "_" в конце и в начале строки S - это уже сами... Я спешу очень.
zetrix вне форума Ответить с цитированием
Старый 11.04.2007, 13:19   #5
scorpik_olga
 
Регистрация: 10.04.2007
Сообщений: 5
По умолчанию

О! блин, подвела страсть к минимизации - я все пыталась сделать код поменьше. ну ладно, пусть будет больше, но лучше! спасибо !
scorpik_olga вне форума Ответить с цитированием
Старый 11.04.2007, 19:44   #6
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Да не за что. Код далеко не идеальный, в спешке писал, но если работает - значит всё ок.
zetrix вне форума Ответить с цитированием
Старый 11.04.2007, 20:27   #7
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

как альтернатива, есть функция stringreplace, заменять все подстроки типа "/", "//", "///" на "_"
rpy3uH вне форума Ответить с цитированием
Старый 12.04.2007, 08:19   #8
scorpik_olga
 
Регистрация: 10.04.2007
Сообщений: 5
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
как альтернатива, есть функция stringreplace, заменять все подстроки типа "/", "//", "///" на "_"
ага, попробуй в Делфи3, а потом расскажи мне про альтернативу

Цитата:
Сообщение от zetrix Посмотреть сообщение
Да не за что. Код далеко не идеальный, в спешке писал, но если работает - значит всё ок.
Собственно, я его переделала, сначала все заменила, а потом уже удаляла двойные разделители. НО! главное идея! а то меня заклинило на том, чтобы все и сразу.
как говорится: все гениальное - просто!

Последний раз редактировалось zetrix; 12.04.2007 в 14:56. Причина: объединение постов
scorpik_olga вне форума Ответить с цитированием
Старый 23.04.2007, 11:57   #9
scorpik_olga
 
Регистрация: 10.04.2007
Сообщений: 5
По умолчанию

Цитата:
Сообщение от dron-s Посмотреть сообщение
pos + copy + delete
Кстати, может примерный алгоритм набросаешь? Только без delete

Последний раз редактировалось scorpik_olga; 23.04.2007 в 12:00.
scorpik_olga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вхождение подстроки в строку! Edimus Общие вопросы C/C++ 4 04.04.2011 07:50
значение из подстроки GazimagomedovM Помощь студентам 2 10.07.2008 08:50
как найти длину последней подстроки в паскале Artem1987 Помощь студентам 1 27.12.2007 18:17
Работа с текстом (замена подстроки) GAGARIN-NEW Общие вопросы Delphi 12 20.11.2007 16:54