在javascript中丢弃(替换)括号失败

时间:2015-08-07 07:55:34

标签: javascript jquery

str = "["1,2,3"]";
arr = str.replace('[','').replce(']','').split(',');

1的结果变成了,"" 1"?如何将上面的字符串转换为正确的数组?

3 个答案:

答案 0 :(得分:0)

代码中的

错误

  1. str无效字符串。使用适当的引用通过前面的\
  2. 嵌套或转义它
  3. 错误的函数名称replce应为replace(错过a
  4. 使用match()regex一起从字符串中提取数字。
  5. 
    
    str = "['1,2,3']";
    arr = str.match(/\d+/g);
    
    document.write(arr);
    console.log(arr);
    
    
    

答案 1 :(得分:0)

首先,你的第一行有错误,应该是

str = "[\"1,2,3\"]"; 

str = '["1,2,3"]';

只需使用 match() \d+匹配字符串中的数字元素并返回匹配元素的数组即可。



str = '["1,2,3"]';
console.log(str.match(/\d+/g));



 您也可以使用 replace() split()

  1. 使用["
  2. 替换字符串中的"]replace(/\["|"\]/g,'')
  3. 使用split(',')
  4. 拆分结果字符串

    
    
    str = '["1,2,3"]';
    console.log(str.replace(/\["|"\]/g,'').split(','));
    
    
    

答案 2 :(得分:0)

首先你的String有多个引号,更正它:

str = "[1,2,3]";

str = "["+"1,2,3"+"]";

然后使用:

arr = str.replace('[','').replce(']','').split(',');

现在,
arr [0]将包含1
arr [1]将包含2
arr [2]将包含3个