Top.Mail.Ru
Ответы

Delphi извлечь числа из строки?

Дополнен

К примеру есть http://otvet.mail.ru/question/23628746/
надо 23628746

По дате
По рейтингу
Аватар пользователя
Новичок
16лет

var
i : integer;
s, n : string;
begin
s := 'http://otvet.mail.ru/question/23628746/';
n := '';
for i := 1 to Length(s) do if s[ i ] in ['0'..'9'] then n := n + s[ i ];
end;
-------------------------------
Вышеприведенный код фильтрует строку, оставляя только цифры.
Если цифровых последовательностей несколько или нужно цифры подряд, то нужно парсить.

Аватар пользователя
Мыслитель
16лет

Ключевое слово: парсер.

Аватар пользователя
Гений
16лет

Если у Вас число представленно в виде строки и имеет тип строки, то перевести в число можно командой StrToInt.

Если же Вам из всей строки необходимо выцепить лишь числовое значение, то в голову приходит мысль о посимвольном сравнении каждого элемента строки с числовым рядом и ели совпадение найдено, то брать этот элемент как число.

Аватар пользователя
Просветленный
16лет

StrToInt

Аватар пользователя
Мудрец
16лет

Согласен.