我喜欢将字符串中的数字收集到数组中。我尝试了以下方法,但在 Javascript 中没有得到预期的结果。我怎样才能做到这一点?

'This is string 9, that con 9 some 12, number rally awesome 8'.split(/[^\d+]/); 

请您参考如下方法:

我假设这是 JavaScript 而不是 Swift。

'This is string 9, that con 9 some 12, number rally awesome 8 extra'. 
split(/[^\d]+/); 

产生

[ '', '9', '9', '12', '8', '' ] 

如您所见,它可以帮助您完成大部分工作,但是可能存在前导和尾随空字符串。

过滤器可以解决这个问题。

'This is string 9, that con 9 some 12, number rally awesome 8 extra'. 
split(/[^\d]+/). 
filter(function(number) { return number.length > 0 }); 

产生您正在寻找的答案。

[ '9', '9', '12', '8' ] 

或者如果您使用的是 ES6。

'This is string 9, that con 9 some 12, number rally awesome 8 extra'. 
split(/[^\d]+/). 
filter(number => number.length > 0); 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!