2017-07-05 56 views
0

我想分割數組值。如何在javascript中刪除數組中所有字符串的一部分?

例如

gUser[1] = CAR.BENZ.CCLASS.1962

gUser[2] = CAR.PORSCHE.911.2001

我想要得到的字符串只BENZ.CLASS.1962PORSCHE.911.2001

如何在Java腳本分成數組值?

@update。

並非總是CAR字符串。 所以,不要使用子字符串。

+0

你想獲得元素的子串。 – davidxxx

+0

@davidxxx不使用子字符串,因爲不總是使用'​​CAR'字符串 – hyunwooks

+0

,因此您需要將其從第一個中拆分。 (點)? @hyunwooks – john

回答

2

您可以使用map來訪問數組中的每個字符串,然後使用replace。使用正則表達式在'。'之前匹配字符串。並且只替換第一場比賽,這樣的:

var gUser = ['CAR.BENZ.CCLASS.1962', 'CAR.PORSCHE.911.2001']; 
 

 
    var gUserModified = gUser.map(function(v){ 
 
     return v.replace(/[^\.]+\./, ''); 
 
    }); 
 
    console.log(gUserModified);

0

從你的問題,但如果數組是一個字符串數組

目前尚不清楚如果它是一個字符串數組,你可以這樣做:

ES6 +:gUser.map((user)=>{return user.split("CAR.")[1]})

ES5:gUser.map(function(user){return user.split("CAR.")[1]});

0

下面的代碼沒有進行測試,但或許應該工作,有可能小的調整

var splitStr = '' 
 
var correctCarArr = [] 
 
for(let i = 0; i < gUser.length; i++){ 
 
    splitStr = gUser[i].split('.') 
 
    let temp = '' 
 
    for(let j = 1; j < splitStr.length; j++){ 
 
    temp += splitStr[j] 
 
    } 
 
    correctCarArr.push(temp) 
 
}

0

var gUser = []; 
 
gUser[1] = "CAR.BENZ.CCLASS.1962"; 
 
var gu1 = gUser[1].split("."); 
 
gu1.shift(); 
 
console.log(gu1.join("."));

0

其更容易分裂然後陣列轉移到除去這樣的第一項:

gUser = ["CAR.BENZ.CCLASS.1962"]; 
 
var benz = gUser[0].split("."); 
 
benz.shift(); 
 
alert(benz.join('.'));

有從像切片移位(1)其它的選擇,但在以下方面性能,轉移明顯更快https://jsperf.com/shift-pop-vs-slice/4

1

用點分開然後切片並加點點

var gUser =[]; 
 
gUser[1] = "CAR.BENZ.CCLASS.1962"; 
 

 
gUser[2] = "CAR.PORSCHE.911.2001"; 
 

 
console.log(gUser[1].split('.').slice(1).join('.')); 
 
console.log(gUser[2].split('.').slice(1).join('.'));

0

因此,這裏是沒有隻用字符串和數組方法使用任何regex的方式。

const gUser = ['CAR.BENZ.CCLASS.1962', 'CAR.PORSCHE.911.2001', 'XYZAB.PORSCHE.YSA.2021'] 
 

 
for (let i = 0; i < gUser.length; i++) { 
 
    console.log('Required String: ', gUser[i].split('.').slice(1).join('.')); 
 
}

我們做的是什麼,我們分裂串入在遇到.部分。

gUser[0].split('.')回報['CAR', 'BENZ', 'CCLASS', '1962']

後來,當slice(1)被調用時,數組的第零個元素被砍掉,並會使用join('.')返回['BENZ', 'CCLASS', '1962']

最後,我們合併數組元素一個字符串用.各元素之間,它返回BENZ.CCLASS.1962


希望這有助於! :)

0

像這樣

`for(let index = 0; index < gUser.length; index++) { 
    console.log(gUser[index].split('.').splice(0, 1).join('.')); 
}` 

我沒有測試它。請檢查並讓我知道

相關問題