从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);
我喜欢保持简单的东西。