微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过删除 Javascript 中的前导零来缩短十六进制数

如何解决通过删除 Javascript 中的前导零来缩短十六进制数

我在字符串中有可用的十六进制数,我想通过删除前导零来缩短它。我需要在 Javascipt 中完成。

例如:

以下所有数字均为十六进制数字。

0000000000000000000000000A000000   -> 00A00000
000000000000000000000000FA000000   -> 000F0A000000

000000000000000000000000C0A80000   -> C0A80000
00000000000000000000003BC0A80000   -> 003BC0A80000

答案的位数应该是4的乘积。比如4位数答案,8位数答案,12位数答案,16位数答案等等...

我的java函数是这样的。

// Remove preciding zero like a hex Eg: 0x0000000000000000000000000A000000 -> 0x0A000000

function hexFormatter(hexToShorted) {
    // make shortHex
    var shortedtHex = hexToShorted.replace(/^(0x)0+(0?.*)$/,"$1$2")
    return shortedtHex;
}

解决方法

您应该先尝试自己,然后发布您所做的事情,我们可以从那里尝试帮助您。也就是说,这里有一些可以帮助你的东西:

let test1 = "0x000000000000000C0045"
test1 = test1.replace(/^(0x)0+((\w{4})+)$/,"$1$2")
console.log(test1)
let test2 = "0x0000000000000000C45"
test2 = test2.replace(/^(0x)0+((\w{4})+)$/,"$1$2")
console.log(test2)

我建议您learn regex,它非常有用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。