簡體   English   中英

如何在javascript中刪除數組中所有字符串的一部分?

[英]How to remove a part of all strings in an array in javascript?

我想要分割數組值。

例如

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

gUser[2] = CAR.PORSCHE.911.2001

我只想獲取字符串BENZ.CLASS.1962PORSCHE.911.2001

如何在Java腳本上拆分數組值?

@update。

並非總是CAR字符串。 因此,請勿使用子字符串。

您可以使用map訪問數組中的每個字符串,然后使用replace。 使用正則表達式匹配“。”之前的字符串。 並僅替換第一個匹配項,如下所示:

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

用點將其拆分,然后切片並用點將其連接

 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('.')); 

根據您的問題,不清楚數組是否為字符串數組

如果它是字符串數組,則可以執行以下操作:

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

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

以下代碼未經測試,但可能應該可以工作,可能需要進行一些細微調整

 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) } 

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

它更容易拆分,然后移動數組以刪除第一項,如下所示:

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

shift還提供了其他選項,例如slice(1),但就性能而言,shift顯然更快https://jsperf.com/shift-pop-vs-slice/4

因此,這是僅使用字符串和數組方法而不使用任何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('.')); } 

我們要做的是,將字符串拆分為where的部分. 遇到。

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

之后,當調用slice(1)時,數組的第零個元素將被切掉並返回['BENZ', 'CCLASS', '1962']

最后使用join('.') ,我們將數組元素合並為帶有的單個字符串. 在每個元素之間,返回BENZ.CCLASS.1962


希望這可以幫助! :)

像這樣

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM