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

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

Замена символов в строке. [D5, Win2k]


Ryser ©   (2002-03-14 13:43:00) 

есть, к примеру, строка "12345,67" нужно перебрать по одному символу слева до зяпятой и заменить "," на "."
Есть какие-нибудь мысли?


Anatoly Podgoretsky   (2002-03-15 21:15:00) [1]

Alx2 © (15.03.02 10:12)
Ну если дело за оптимальностью, так это не проблема, но було сомнение насчет возможности :-)


Alx2   (2002-03-15 13:36:00) [2]

>Johnmen © (14.03.02 13:54)
Пророк, однако :))


userppp   (2002-03-15 13:20:00) [3]

Всем большое спасибо за уделенное внимание вопросу! Проблема уже решилась путем выделения целой части и остатка.


JohnnyCrisJoe   (2002-03-15 10:42:00) [4]


> Anatoly Podgoretsky © (14.03.02 21:39)
> while Pos(символ, строка) > 0 ...


Зато как элегантно.. :))


Alx2   (2002-03-15 10:12:00) [5]

>Anatoly Podgoretsky © (14.03.02 21:39)
>while Pos(символ, строка) > 0 ...
ИМХО долго.
Так мы будем ездить по строке n раз, где n - количество вхождений "символ" в "строка". Много быстрее в "Ra © (14.03.02 13:50)"


Anatoly Podgoretsky   (2002-03-14 21:39:00) [6]

Johnmen © (14.03.02 16:49)
while Pos(символ, строка) > 0 ...


Андрей Сенченко   (2002-03-14 18:14:00) [7]

Выше есть два вполне рабочих примера.


Johnmen   (2002-03-14 16:49:00) [8]

>Андрей Сенченко © : А какие варианты ты можешь предположить ? :)


Андрей Сенченко   (2002-03-14 16:40:00) [9]

>> Johnmen © (14.03.02 13:54)

Далеко не факт


Johnmen   (2002-03-14 13:54:00) [10]

А все это от незнания/непонимания DecimalSeparator


Alx2   (2002-03-14 13:51:00) [11]

function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;


mrcat   (2002-03-14 13:51:00) [12]

в догонку...таким макаром можно определить только одну ЗПТ. в строке %)


mrcat   (2002-03-14 13:50:00) [13]

Используй Pos для определения положения нужного символа:
i := Pos(символ, строка);
Заменяй i-ый символ на что нужно:
строка[i] := новый_символ;


Ra   (2002-03-14 13:50:00) [14]

так в чем проблема?

for i:=1 to length(s) do
if s[i]="," then s[i]:="."


Наверх

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