![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Замена символов в строке. [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]:="."