Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Вниз

работа со строкой   Найти похожие ветки 

 
tey   (2008-06-17 16:06) [0]

подскажите как убрать из строки все символы, кроме цифр и точек?


 
Dennis I. Komarov ©   (2008-06-17 16:09) [1]

Пробежаться по строке, если не цифра и не точка то удалить.


 
Ega23 ©   (2008-06-17 16:09) [2]

function ВсёКромеТочек(const S : string) : string;
var
 i : Integer;
begin
 Result := "";
 for i:=1 to Length(S) do
   if S[i] in ["0".."9", "."] then
     Result := Result + S[i];
end;


 
tey   (2008-06-17 16:09) [3]

:)


 
Ega23 ©   (2008-06-17 16:10) [4]

А в целом - пора о метле задумываться, коли такую простейшую вещь сделать не можешь.


 
Dennis I. Komarov ©   (2008-06-17 16:12) [5]

> [2] Ega23 ©   (17.06.08 16:09)

домены уде освоены, теперь за дельфу Медведев взялся... :)


 
Riply ©   (2008-06-17 17:03) [6]

> [2] Ega23 ©   (17.06.08 16:09)
> for i:=1 to Length(S) do
>   if S[i] in ["0".."9", "."] then
>     Result := Result + S[i];


Некузяво :)
IMHO, лучше дважды пройтись циклом:
первый раз посчитать необходимый Length результата,
а во втором цикле его (Result) заполнить.


 
Ega23 ©   (2008-06-17 17:07) [7]


> Некузяво :)
> IMHO, лучше дважды пройтись циклом:
> первый раз посчитать необходимый Length результата,
> а во втором цикле его (Result) заполнить.
>


Ну ежели за память и быстродействие бороться, и строка немерянного размера - то да.


 
McSimm ©   (2008-06-17 17:09) [8]

А если только за быстродействие, то установить первоначальную длину результата как у исходной строки, в конце обрезать.


 
Правильный-Вася   (2008-06-17 17:18) [9]

а латинские цифры кто учитывать будет?


 
Alien1769 ©   (2008-06-17 17:26) [10]


> а латинские цифры кто учитывать будет?

Правильный Вася

зы. Шо ник стащили :)


 
korneley ©   (2008-06-17 18:19) [11]


> Правильный-Вася   (17.06.08 17:18) [9]
> а латинские цифры кто учитывать будет?

А они.., эта... Разве не арабские? Ну, те, что с #48 начинаются :))


 
Германн ©   (2008-06-17 18:36) [12]


> korneley ©   (17.06.08 18:19) [11]
>
>

Римские?


 
korneley ©   (2008-06-17 19:02) [13]


> Германн ©   (17.06.08 18:36) [12]
> Римские?

Не... С римскими всё понятно, там даже ноля нет (если не брать расширенный вариант записи) Перевели всё в верхний регистр, и "почикали" M, D, C, L, X, V, I. О! с римским вариантом упираемся в 4K. Что-то это мне смутно напоминает...


 
Правильный-Вася   (2008-06-17 21:57) [14]


> Римские?

ну да, попутал :)

> с римским вариантом упираемся в 4K

это с числами упираешься, а речь о цифрах


 
korneley ©   (2008-06-17 22:47) [15]


> Правильный-Вася   (17.06.08 21:57) [14]
> ...а речь о цифрах

И точках :)


 
McSimm ©   (2008-06-17 22:49) [16]


> это с числами упираешься, а речь о цифрах

а сколько всего римских цифр?


 
korneley ©   (2008-06-17 22:50) [17]


> McSimm ©   (17.06.08 22:49) [16]
> > это с числами упираешься, а речь о цифраха сколько всего
> римских цифр?

Я полагаю, что семь.


 
Юрий Зотов ©   (2008-06-17 22:51) [18]

Еще надо учесть 16-ричную точку.


 
korneley ©   (2008-06-17 22:55) [19]


> Юрий Зотов ©   (17.06.08 22:51) [18]

Это в римской, непозиционной, системе счисления? Разговор точно выходит за рамки "начинающие" :)


 
Юрий Зотов ©   (2008-06-18 00:04) [20]

> korneley ©   (17.06.08 22:55) [19]

В римской, непозиционной системе счисления 16-ричная точка отделяет целую часть от дробной. Например, запись IX.V означает "пятнадцать целых и пять шестнадцатых".


 
korneley ©   (2008-06-18 00:20) [21]


> Юрий Зотов ©   (18.06.08 00:04) [20]

Эк, у Вас... А первоисточники, так сказать, мануалы, не посоветуете? :)


 
ProgRAMmer Dimonych ©   (2008-06-18 00:46) [22]

> korneley ©   (17.06.08 19:02) [13]
> с римским вариантом упираемся в 4K.

Там же ж вроде можно букву mу вставить между тысячами и единицами и упереться в 4M? А потом ещё одну и т.д.?


 
korneley ©   (2008-06-18 01:17) [23]


> ProgRAMmer Dimonych ©   (18.06.08 00:46) [22]

В обычной записи числа от 1 до 3999 (MMMCMXCIX) дальше - расширенние системы записи в "позиционную", там гибрид уже, и "M" в качестве нуля, а не "тыщи".


 
Германн ©   (2008-06-18 02:18) [24]


> korneley ©   (18.06.08 01:17) [23]
>
>
> > ProgRAMmer Dimonych ©   (18.06.08 00:46) [22]
>
> В обычной записи числа от 1 до 3999 (MMMCMXCIX) дальше -
>  расширенние системы записи в "позиционную", там гибрид
> уже, и "M" в качестве нуля, а не "тыщи".
>

Дальше ты идёшь по пути Riply. :)


 
MBo ©   (2008-06-18 08:00) [25]


j := 0;
for i := 1 to Length(s) do
 if s[i] in SetOfGoodSymbols then
    s[i - j] := s[i]
 else
    Inc(j);
SetLength(s, Length(s) - j);


 
korneley ©   (2008-06-18 08:49) [26]


> Германн ©   (18.06.08 02:18) [24]
>  Дальше ты идёшь по пути Riply. :)

Неплохо бы :). "Бей Чужих, спасай, мнэ-э... Сигурни Уивер!" Кстати, прикупил сборник "Спасти Чужого". Еще не читал. В предвкушении.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.057 c
3-1202888260
patrick1968
2008-02-13 10:37
2008.07.20
BDE


3-1202764635
alexnmsk
2008-02-12 00:17
2008.07.20
Хранимая процедура


4-1192827598
i
2007-10-20 00:59
2008.07.20
Prevent service&process from stopping


2-1213708430
snake-as
2008-06-17 17:13
2008.07.20
Печать DBGrid


15-1212671141
Vlad Oshin
2008-06-05 17:05
2008.07.20
Скоро прокси починится. Извините





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский