![](/img/trans.png)
[英]How to remove part of string with javascript regex without repeating delimiting strings
[英]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.1962
和PORSCHE.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.