@andrey_levushkin

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

Дана строка, которая содержит в себе различный текст, среди которого его 16-ричные числа. Как найти все эти числа в строке?
Приветствуется любой язык. Ну или хотя бы алгоритм действий.
  • Вопрос задан
  • 122 просмотра
Решения вопроса 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
Ent. Software engineer. Oracle. SQL. BigData.
Тут могут быть подводные камни.

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

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

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

Войти через центр авторизации
Похожие вопросы
НПК «Катрен» Новосибирск
от 70 000 ₽
it2g Самара
До 100 000 ₽
Tiamat Games Москва
от 75 000 до 125 000 ₽
03 июл. 2020, в 19:58
5000 руб./за проект
03 июл. 2020, в 19:33
3000 руб./за проект