Javascript数组-按数字拆分字符串

时间:2019-09-09 16:22:58

标签: javascript arrays regex split

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

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

我想拆分数组,以便修改数字并稍后重新加入数组。我正在寻找的结果应如下所示:

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

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

3 个答案:

答案 0 :(得分:2)

使用字符类拆分值:

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

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

console.log(string)

答案 1 :(得分:1)

理想的解决方案实际上取决于您对数据的确切处理。一种简单的解决方案是使用replace的正则表达式。

var string = "stuff 1.23! (456) 789 stuff";
var updated = string.replace(/\d+(\.\d+)?/g, function (m) {
  console.log(m);
  return "xxx";
})
console.log(updated)

答案 2 :(得分:-1)

regular expression是一个表达式,您可以使用它在字符串中搜索数字。 Create a regular expression会搜索数字序列,您将可以在字符串上使用split method来创建与指定字符串相似的字符串数组。

相关问题