在javascript中拆分字符串以获取数据[重复]

Posted

技术标签:

【中文标题】在javascript中拆分字符串以获取数据[重复]【英文标题】:splitting a string in javascript to get data [duplicate] 【发布时间】:2014-02-05 13:48:21 【问题描述】:

我有一个字符串

"(1,4,76,465,567,583,590)"

我希望能够将其放入 javascript 数组中

jArray[3] = 465 for example

如何将字符串解析为可变长度的子字符串以作为数字传递?

【问题讨论】:

【参考方案1】:

只需将所有() 和所有空白字符替换为空字符串即可;用, 拆分它,然后对所有元素应用parseInt 函数以将它们转换为数字,就像这样

var data = "(1,4,76,465,567,583,590)";
console.log(data.replace(/[\s()]/g, "").split(",").map(function(currentItem) 
    return parseInt(currentItem);
));

输出

[ 1, 4, 76, 465, 567, 583, 590 ]

如果您不想将它们转换为数字,那么最好使用

data.replace(/[\s()]/g, "").split(",");

如果你的环境还不支持Array.prototype.map功能,可以使用下面的

var splittedNumbers = data.replace(/[\s()]/g, "").split(",");
for (var i = 0; i < splittedNumbers.length; i += 1) 
    splittedNumbers[i] = parseInt(splittedNumbers[i]);

console.log(splittedNumbers);

【讨论】:

【参考方案2】:

首先你需要去掉括号。

var string = "(1,4,76,465,567,583,590)";
string = string.replace(/[()]/g,'');

这将返回

"1,4,76,465,567,583,590"

所以你现在需要做的就是使用 split() 方法

var array = string.split(',');

这将返回字符串值,因此您还需要通过 parseInt() 方法传递它们。

【讨论】:

【参考方案3】:

将新方法添加到 String 原型中,删除 (),然后用逗号分隔

String.prototype.splitString = function () 
    return this.replace('(', '').replace(')', '').split(',').map(function (current)  return parseInt(current) );
;

var string = "(1,2,3,456,567,543,232)";

var array = string.splitString();

输出

[1, 2, 3, 456, 567, 543, 232]

【讨论】:

OP 想要一个整数数组而不是字符串。 注明。更新了答案

以上是关于在javascript中拆分字符串以获取数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从javascript中的键和字符串值获取objectId [重复]

在javascript中使用split仅获取没有查询字符串的URL

拆分JavaScript字符串中的最后一个单词值[重复]

Zapier 中的 Javascript:由“-”拆分为多个输出

使用 C++ 拆分字符串 [重复]

拆分字符串以在 UI 选择元素中使用 [重复]