首页 > 解决方案 > Javascript Array - 在数字处拆分字符串

问题描述

我有一个包含一组数字的未知字符串,如下所示:

var string = "stuff 1.23! (456) 789 stuff";

我想拆分数组,以便修改数字并稍后重新加入数组。我正在寻找的结果应该是这样的:

var result = ['stuff ', 1.23, '! (', 456, ') ', 789, ' stuff'];

有比单独遍历每个字符更好的解决方案吗?谢谢!

标签: javascriptarraysregexsplit

解决方案


使用字符类来拆分值:

/(-?[\d.]+)/
  • -?可能以否定开头,例如-123
  • [\d.]+有一个或多个数字和小数

var string = "stuff 1.23! (456) 789 stuff -234".split(/(-?[\d.]+)/);

console.log(string)


推荐阅读