powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как удалить из строки все, кроме чисел?
25 сообщений из 25, страница 1 из 1
Как удалить из строки все, кроме чисел?
    #39962037
Женя32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, пожалуйста, как удалить из строки все, кроме чисел?:
2sdx6dfc22
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962042
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Женя32,

Регуляркой
Код: sql
1.
s/[^0-9]//g
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962057
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Женя32,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Function DelChar(S:String; Ch:Char):String;
var i:integer;
begin
 for i:=Length(S) downto 1 do
     if (S[i]=Ch) then Delete(S,i,1);
 Result:=S;
end;


for Ch:='0' to '9' do
   S:=DelChar(S,Ch);
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962063
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
for C := '0' to '9' do
  S := StringReplace(S, C,'',[rfReplaceAll]);
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962096
Женя32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster
Женя32,

Регуляркой
Код: sql
1.
s/[^0-9]//g


А как ее применить?
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962108
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Женя32,

В дельфи нет встроенных регулярок? Если нет, тогда извините.
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962115
Женя32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему ошибка при вызове?:
[dcc32 Error] Unit1.pas(117): E2035 Not enough actual parameters
Код: pascal
1.
DelChar('6T6TT')
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962126
Женя32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: pascal
1.
2.
3.
4.
5.
function TForm1.DelChar(S: String; Ch: Char): String;
begin
  for Ch:='а' to 'я' do S:= StringReplace(S, Ch,'',[rfReplaceAll]);
  Result:=S;
end;
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962171
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
function OnlyDec(const Inp: string): string;
Var
 k: integer;
begin
  Result := '';
  for k := 1 to Length(Inp) do
   if CharInSet(Inp[k], ['0'..'9']) then
     Result := Result + Inp[k];
end;
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962186
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пипец, конкурс.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function DeleteNonNumbers(const Source: string): string;
var
  Idx: Integer;
  Count: Integer;
begin
  Count := 0;
  SetLength(Result, Length(Source));
  for Idx := 1 to Length(Source) do
    if Source[Idx] in ['0'..'9'] then
    begin
      Inc(Count);
      Result[Count] := Source[Idx];
    end;
  SetLength(Result, Count);
end;
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962187
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

Велопарад.
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962192
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Женя32,

Так должно быть быстрее (пока писал, alekcvp опередил :)):

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
function FilterStr(const Filter: TSysCharSet; const s: string): string;
var
 c: char;
 i, TopPtr: integer;
begin
 TopPtr := 1;
 SetLength(Result, Length(s));
 for i := 1 to Length(s) do
 begin
  c := s[i];
  if CharInSet(c, Filter) then
  begin
   Result[TopPtr] := c;
   Inc(TopPtr);
  end;
 end;
 SetLength(Result, TopPtr - 1);
end;

function ExtractDigits(const s: string): string;
begin
 Result := FilterStr(['0'..'9'], s);
end;
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962215
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
uses
  System.RegularExpressions;

var
  s: string;
begin
  s := TRegEx.Replace('abc123aMAKS LKnap9sd nlmadn paq;KIJ HI0POAD na[s d[nklN *(_( YT#*&)$@ ^$bc', '[^0-9]', '');
end;
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962219
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уж такое разжевывать и в рот класть, то на чем человек сам думать научится? А потом ноем что новое поколение деградирует... Пусть сам/сама хоть что-то попытался сделать и написал что не получается
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962232
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столько бреда понаписали...
Если бы автор понимал что хочет, написал бы "все кроме цифр". А текстовые представления чисел могут быть самые разные. Ни одно из перечисленных ниже ни один приведенный код не обработает.

  • -1021
  • 2.4E30
  • FFAD
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962269
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

зачем мудрствовать, если есть пример: 2sdx6dfc22
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962532
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr

Код: pascal
1.
2.
for C := '0' to '9' do
  S := StringReplace(S, C,'',[rfReplaceAll]);



Самый сильный код из вышеприведенных. 10 проходов вместо одного. Можно еще над рекурсией задуматься для усиления.
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962548
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
DimaBr

Код: pascal
1.
2.
for C := '0' to '9' do
  S := StringReplace(S, C,'',[rfReplaceAll]);



Самый сильный код из вышеприведенных. 10 проходов вместо одного. Можно еще над рекурсией задуматься для усиления.


сильный и неправильный...

>> Подскажите, пожалуйста, как удалить из строки все, кроме чисел?:

для s='2sdx6dfc22' будет результат: sdxdfc
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962550
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql2012
shalamyansky
пропущено...

Самый сильный код из вышеприведенных. 10 проходов вместо одного. Можно еще над рекурсией задуматься для усиления.


сильный и неправильный...

>> Подскажите, пожалуйста, как удалить из строки все, кроме чисел?:

для s='2sdx6dfc22' будет результат: sdxdfc

Это точно строка/строки?
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962583
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
sql2012
пропущено...


сильный и неправильный...

>> Подскажите, пожалуйста, как удалить из строки все, кроме чисел?:

для s='2sdx6dfc22' будет результат: sdxdfc

Это точно строка/строки?


ко мне вопрос?
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962659
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сама постановка - вводит в заблуждение.

Сделан упор на "удалить" в то время как на самом
деле ожидается новая строка. Как результат
фильтра десятичных символов.
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962755
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не мешай людям удалять. :)
Они так память экономят, поди.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39962760
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне почему-то тема напомнила Нормальные Марковские Замены. Надо будет пятничный топик поднять.
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39964348
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как удалить из строки все, кроме чисел?
    #39964409
Фотография LocksmithPC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Нормальные Марковские Замены


И прочие "четвергово/пятничные" тянут на пограничное состояние сознания. Бишь шизофрению
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как удалить из строки все, кроме чисел?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]