我有以下字符串的前導逗號:刪除從字符串
",'first string','more','even more'"
我想變成一個數組這一點,但顯然這不是有效的,由於第一個逗號。我怎樣才能從我的字符串中刪除第一個逗號,並使其成爲一個有效的數組?
我想用這樣的事情結束了:
myArray = ['first string','more','even more']
我有以下字符串的前導逗號:刪除從字符串
",'first string','more','even more'"
我想變成一個數組這一點,但顯然這不是有效的,由於第一個逗號。我怎樣才能從我的字符串中刪除第一個逗號,並使其成爲一個有效的數組?
我想用這樣的事情結束了:
myArray = ['first string','more','even more']
要刪除第一個字符可以使用:
myOriginalString = ",'first string','more','even more'";
myString = myOriginalString.substring(1);
我不知道這將是你的結果因爲你仍然需要分割它以創建一個數組。可能是這樣的:
myString = myOriginalString.substring(1);
myArray = myString.split(',');
請記住,'字符將是在這裏拆分每個字符串的一部分。
var s = ",'first string','more','even more'";
var array = s.split(',').slice(1);
這是假設你以字符串其實是一個字符串,像你說的,而不是字符串數組。
在這種特殊情況下(總有你要刪除的啓動單個字符),你會想:
str.substring(1)
不過,如果你希望能夠檢測如果逗號是存在的並刪除它,如果是的話是這樣的:
if (str.substring(0, 1) == ',') {
str = str.substring(1);
}
+1爲條件的 – 2010-10-13 11:24:43
+1。它總是更好地假設逗號可能不在那裏。 – JoeMoe1984 2014-06-23 19:17:23
這是一個更好的答案,應該是被接受的答案。 – 2018-02-07 06:59:14
將一個字符串到一個數組我通常使用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"]
爲了從字符串中提取一個子我通常使用slice()
但substr()
和substring()
也做的工作。
假設字符串被稱爲myStr的:
// Strip start and end quotation mark and possible initial comma
myStr=myStr.replace(/^,?'/,'').replace(/'$/,'');
// Split stripping quotations
myArray=myStr.split("','");
注意,如果一個字符串可以是缺少在列表中,甚至無需其引號禮物,你要在相應位置的空白處陣列中,您需要手動編寫分割以獲得可靠的解決方案。
var s = ",'first string','more','even more'";
s.split(/'?,'?/).filter(function(v) { return v; });
結果:
["first string", "more", "even more'"]
第一分割用逗號可能由單引號包圍,
然後過濾所述非truthy(空)份進行。
您可以直接使用與正則表達式JavaScript的替換功能或定義一個幫助功能在PHP LTRIM(左)和RTRIM(右):
1)替換爲:
var myArray = ",'first string','more','even more'".replace(/^\s+/, '').split(/'?,?'/);
2)幫助功能:
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});;
你可以做,其他的事情參數與您要更換炭什麼添加到幫助功能等
的一行
str = str.replace(/^,/, '');
我會回來的。
s=s.substring(1);
我喜歡讓東西簡單。
這將刪除尾隨逗號和空格
var str = ",'first string','more','even more'";
var trim = str.replace(/(^\s*,)|(,\s*$)/g, '');
只需使用'myString.slice(1);' – 2011-10-27 07:21:10
@NikhilBenKuruvilla這將刪除,即使它不是一個逗號的任何字符。這裏是第一個字符逗號移除http://stackoverflow.com/a/39047793/696535 – Pawel 2017-03-07 10:50:22
可能重複[刪除Javascript中的第一個字符的字符串](https://stackoverflow.com/questions/4564414/delete-first - 字符串在JavaScript中) – 2017-10-25 10:42:02