@andrey_levushkin

Как найти в строке 16-ричные числа?

Дана строка, которая содержит в себе различный текст, среди которого его 16-ричные числа. Как найти все эти числа в строке?
Приветствуется любой язык. Ну или хотя бы алгоритм действий.
  • Вопрос задан
  • 198 просмотров
Решения вопроса 2
Проще всего с помощью регулярки 0x[\dA-Fa-f]+
Ответ написан
appliks
@appliks
Работает? Не трогай.
program x1;
var
z,x:string;
s: set of char = ['0'..'9','a'..'f', 'A'..'F'];
i:integer;
begin
readln (z);
x:='';
for i := 1 to length(z) do 
 if z[i] in s then if x='0' then x:=z[i]
                            else x:=x+z[i]
              else begin 
              if length(x)>0 then
              writeln(x);
              x:='';
              end;
writeln(x);
end.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Тут могут быть подводные камни.

В произвольном английском тексте есть одельные независимые слова которые покрывают
диапазон 0x0..0xF и будут ложные срабатывания на артиклях: "a" и вообще коротких
словах таких как "cafe" которые технически воспринимаются как хекс-число.

Поищите все слова что покрывают abcdef.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы