如何从 JavaScript 中的字符串中删除前面的0

发布于 2023-03-20 22:58:15 字数 1071 浏览 64 评论 0

我们建议使用正则表达式和 字符串 replace() 方法。 从字符串中删除前导零的

let x = '0042';
x = x.replace(/^0+/, '');

x; // '42';
typeof x; // 'string'

转换为数字

您可能已经看到使用的代码 x * 1 或者 +x 从字符串中删除前导零。 这种方法适用于基本情况,关键区别在于您最终得到的是数字而不是字符串。

let x = '0042';
x = parseInt(x);

x; // 42
typeof x; // 'number'

let y = '007';
y = +y;
y; // 7
typeof y; // 'number'

但是,对于包含 十六进制、八进制和二进制文字的 字符串,事情会变得棘手,如下所示。

let x = '0xFF';
x = +x;
x; // 255

此行为是否正确取决于您的用例。 但是,如果你想治疗 x 作为字符串并删除前导零,此处的正确输出将是 'xFF',在这种情况下,使用 + 或者 parseInt() 不会工作。 你可以告诉 parseInt() 始终使用基数 10 并避免解析以 0x 作为十六进制数,但你最终会得到一个 0

let x = '0xFF';
x = parseInt(x, 10);

x; // 0, because `parseInt()` parses as much as it can
typeof x; // 'number'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

趁微风不噪

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

qq_7J1imQ

文章 0 评论 0

《一串符号》

文章 0 评论 0

hls.

文章 0 评论 0

雅心素梦

文章 0 评论 0

塔塔猫

文章 0 评论 0

微信用户

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文