我喜欢将字符串中的数字收集到数组中。我尝试了以下方法,但在 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);