【发布时间】:2019-08-29 17:52:19
【问题描述】:
String x = "{"val" : 34, "gain": -23}"
如何从字符串中获取正数或负数。我正在尝试:
x.split("gain")[1]; // returns something like " : -23
parseInt(x.split("gain")[1]); // returns NaN
【问题讨论】:
标签: javascript string parseint
String x = "{"val" : 34, "gain": -23}"
如何从字符串中获取正数或负数。我正在尝试:
x.split("gain")[1]; // returns something like " : -23
parseInt(x.split("gain")[1]); // returns NaN
【问题讨论】:
标签: javascript string parseint
您应该做的最简单的事情就是解析 JSON 并访问值
let x = `{"val" : 34, "gain": -23}`
console.log(JSON.parse(x).gain)
您需要通过在使用parseInt 解析之前删除任何无效数字来将字符串更改为可解析状态
[^+-\d]+
上面的模式意味着匹配除+, - or any digit之外的任何东西,然后我们用空字符串替换匹配的值
let x = `{"val" : 34, "gain": -23}`.split("gain")[1]
console.log(parseInt(x.replace(/[^+-\d]+/g,'')))
【讨论】:
您不想使用JSON.parse(x)['gain'] 吗?
let x = `{"val" : 34, "gain": -23}`
let gain = JSON.parse(x)['gain'];
console.log(gain);
【讨论】:
字符串 x = "{"val" : 34, "gain": -23}"
如何从字符串中获取正数或负数。我正在尝试:
x.split("增益")[1]; // 返回类似 " : -23 parseInt(x.split("gain")[1]); // 返回 NaN
替换 : 并修剪字符串
let s = x.split("gain")[1].replace(":", "").trim();
parseInt(s);
或者
将x值改为合适的对象
let x = { val : 34, gain : - 23}
然后像x.gain一样获得增益,这将返回 - 23
【讨论】: