如何从 JavaScript 中的字符串中删除前面的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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论