加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 按位不是Perl中的十六进制数

发布时间:2020-12-14 05:36:33 所属栏目:百科 来源:网络整理
导读:我有一个包含十六进制数字的长字符串.用 one’s complement(也是十六进制)替换每个数字的最佳方法是什么? 也就是说,如果我有 $string = "d3e5d1b8 66300f40 16010f2e ncc1e010f 00b0b802 bbd0000f e38e0098 n" 我想得到 $string = "2b1a2e47 99bff0cf e9f
我有一个包含十六进制数字的长字符串.用 one’s complement(也是十六进制)替换每个数字的最佳方法是什么?

也就是说,如果我有

$string = "d3e5d1b8 66300f40 16010f2e ncc1e010f 00b0b802 bbd0000f e38e0098 n"

我想得到

$string = "2b1a2e47 99bff0cf e9fef0d1 n33e1fef0 ff4f47fd 442ffff0 1b71ff67 n";

我现在的解决方案是替换16个十六进制数字中的每一个

$string=~s/0/g/g; $string=~s/f/0/g; $string=~s/g/f/g;
...
...
16 times

解决方法

使用 tr:

$string =~ tr/0123456789abcdef/fedbca9876543210/;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读