使用matlab在txt文本中提取十六进制数,读取规定数据之后的某些数,里面有大量的数据。
例如下面的数据,提取FFAAB1XX后面紧接着的两个十六进制数字5C70。只要碰见FFAAB1XX就提取紧接着的下面两个数据。数据很多。麻烦高手指点,附程序,谢谢!...
例如下面的数据,提取FF AA B1 XX后面紧接着的两个十六进制数字5C 70。只要碰见FF AA B1 XX就提取紧接着的下面两个数据。数据很多。
麻烦高手指点,附程序,谢谢! 展开
麻烦高手指点,附程序,谢谢! 展开
2个回答
展开全部
假设文本文件Zone1.txt内容如下(2行,其实随便几行都无所谓)
02 06 2E FF AA B1 09 37 84 60 FF AA FF AA B1 2E 33 86 FF AA B1 FF AA B1 7B 2A 8D FF AA
B1 7B 3F 24 FF AA B1 8C 47 84 60 FF AA B1 38 0C 86 FF FF AA B1 B2 B3 B4 FF AA B1 11 22
输入如下命令
f=fopen('Zone1.txt');
A=char(fread(f,'char'))';%A即是文本文件中的内容
fclose(f);
B=regexp(A,'(?<=FF\s+AA\s+B1\s+\w\w\s+)\w\w\s+\w\w','match')%B即提取了所要的内容
02 06 2E FF AA B1 09 37 84 60 FF AA FF AA B1 2E 33 86 FF AA B1 FF AA B1 7B 2A 8D FF AA
B1 7B 3F 24 FF AA B1 8C 47 84 60 FF AA B1 38 0C 86 FF FF AA B1 B2 B3 B4 FF AA B1 11 22
输入如下命令
f=fopen('Zone1.txt');
A=char(fread(f,'char'))';%A即是文本文件中的内容
fclose(f);
B=regexp(A,'(?<=FF\s+AA\s+B1\s+\w\w\s+)\w\w\s+\w\w','match')%B即提取了所要的内容
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询