从Javascriptstring中删除第一个字符

我有以下string:

",'first string','more','even more'" 

我想将其转换成一个数组,但显然这是无效的,由于第一个逗号。 我怎样才能从我的string中删除第一个逗号,并使其成为一个有效的数组?

我想结束这样的事情:

 myArray = ['first string','more','even more'] 

谢谢。

要删除您将使用的第一个字符:

 myOriginalString = ",'first string','more','even more'"; myString = myOriginalString.substring(1); 

我不确定这是否会成为你正在寻找的结果,因为你仍然需要拆分它来创build一个数组。 也许是这样的:

 myString = myOriginalString.substring(1); myArray = myString.split(','); 

请记住,这个字符将成为分割中每个string的一部分。

在这个特定的情况下(开始时总是会有一个字符想要移除),你需要:

 str.substring(1) 

但是,如果您希望能够检测逗号是否存在,并将其删除,那么可以这样做:

 if (str.substring(0, 1) == ',') { str = str.substring(1); } 
 var s = ",'first string','more','even more'"; var array = s.split(',').slice(1); 

这是假设你开始的string实际上是一个string,就像你说的,而不是一个string数组。

为了把一个string转换成一个数组,我通常使用split()

 > var s = ",'first string','more','even more'" > s.split("','") [",'first string", "more", "even more'"] 

这几乎是你想要的。 现在你只需要去掉前两个字符和最后一个字符:

 > s.slice(2, s.length-1) "first string','more','even more" > s.slice(2, s.length-2).split("','"); ["first string", "more", "even more"] 

为了从string中提取一个子串,我通常使用slice()但是substr()substring()也可以完成这个工作。

 var s = ",'first string','more','even more'"; s.split(/'?,'?/).filter(function(v) { return v; }); 

结果是:

 ["first string", "more", "even more'"] 

首先用可能被单引号​​包围的逗号分割,
然后过滤非真实(空的)部分。

一衬垫

 str = str.replace(/^,/, ''); 

我会回来的。

假设该string被称为myStr:

 // Strip start and end quotation mark and possible initial comma myStr=myStr.replace(/^,?'/,'').replace(/'$/,''); // Split stripping quotations myArray=myStr.split("','"); 

请注意,如果一个string可能在列表中不存在引号,并且在数组中相应的位置需要一个空白点,那么您需要手动分割以获得可靠的解决scheme。

你可以直接用javascriptreplace正则expression式的函数,或者像php ltrim(左)和rtrim(右)一样定义一个帮助函数:

1)replace:

 var myArray = ",'first string','more','even more'".replace(/^\s+/, '').split(/'?,?'/); 

2)帮助function:

 if (!String.prototype.ltrim) String.prototype.ltrim = function() { return this.replace(/^\s+/, ''); }; if (!String.prototype.rtrim) String.prototype.rtrim = function() { return this.replace(/\s+$/, ''); }; var myArray = ",'first string','more','even more'".ltrim().split(/'?,?'/).filter(function(el) {return el.length != 0});; 

你可以做什么和其他的事情来添加参数到帮助function,你想要replace字符,等等。

 s=s.substring(1); 

我喜欢保持简单的东西。