如何从逗号分隔的整数值中删除单引号

时间:2019-07-18 06:57:53

标签: javascript casting

我从数据库中得到的结果是'2,3,7',现在我想从字符串中删除'(单引号)并以2,3,7的形式获取输出

我的意图是将此值用作[2,3,7]之类的数组。但是由于它是字符串,所以它像['2,3,7']一样存储。

我尝试使用parseInt将其转换为整数,但是在这种情况下,它给了我第一个索引值,即2。

因此,基本上输入像'2,3,7'一样,预期的输出像2,3,7一样。

更新: 我可以看到许多人正在将输入视为“'2,3,7'”,将输入视为“ 2,3,7”。 我也有一个可行的解决方案:

var str = '2,3,7',finalOutput=[];
var splittedValues = str.split(",");
splittedValues.forEach((value) => {
    finalOutput.push(parseInt(value));
});

有没有直接的方法可以做到这一点。

谢谢。

5 个答案:

答案 0 :(得分:1)

使用正则表达式 match()

演示https://regex101.com/r/JhTkVB/1

var string = "'2,3,7'"

console.log(string.match(/\d+/g).map(Number));

答案 1 :(得分:1)

执行所需操作的最简单方法是:

let str = '2, 3, 7';
let yourArray = str.split(',').map(Number);
console.log(yourArray);

这将用逗号分隔,然后使用map函数,该函数使用作为参数提供的函数转换数组中的每个值,并将它们存储在新数组中。因此,在这种情况下,函数Number被称为三次,其参数为'2''3''7'Number是数字对象的构造函数,该对象也将字符串解析为数字。然后将所得的数组存储在yourArray中,该数组的值为[2, 3, 7]

答案 2 :(得分:0)

您可以删除第一个和最后一个字符。

var string = "'2,3,7'",
    values = string.slice(1, -1);

console.log(values);

答案 3 :(得分:0)

这是删除包含单引号的另一种方法-

var str = "'2,3,7'",
str = str.substring(1, str.length - 1)

console.log(str);

//If you need an array then

str = str.split(',').map(Number)

console.log(str);

答案 4 :(得分:0)

根据您的更新,好像您的输入字符串只是'2,3,7'。要将其转换为数字数组,可以使用JSON.parse(),方法是将字符串封装在方括号中,如下所示:

const str = '2,3,7';
const arr = JSON.parse(`[${str}]`);
console.log(arr); // [2, 3, 7]