2017-05-09 99 views
0

我得到返回並且是一個字符串的聚合列表。我只想顯示兩個項目並刪除其餘項目。尋找在JavaScript中做到這一點。返回帶有匹配關鍵字的前兩個字符串

我有一些看起來像這樣:

"type:of:pets:pet:304126008:pet:328464062:pet:329003654:pet:274825265:pet:302508993" 

我想返回前兩個寵物和剝除休息:

"type:of:pets:pet:304126008:pet:328464062" 

我試着這樣做:

var types = "type:of:pets:pet:304126008:pet:328464062:pet:329003654:pet:274825265:pet:302508993" 

types.split('type:of:pets:pet', 2); 

看起來它並不考慮我需要的數字。

+0

那你試試?你有任何代碼要顯示嗎? http://stackoverflow.com/help/how-to-ask – YoannM

回答

1

您可以切分7個單詞,以便保留3個第一個單詞和2個以下對。如果需要ES5兼容性

const types = "type:of:pets:pet:304126008:pet:328464062:pet:329003654:pet:274825265:pet:302508993"; 
 

 
const r = types.split(':').slice(0, 7).join(':'); 
 

 
console.log(r)

交換constvar

0

const input = 'type:of:pets:pet:304126008:pet:328464062:pet:329003654:pet:274825265:pet:302508993'; 
 

 
const start = 'type:of:pets'; 
 
const petDelimiter = ':pet:'; 
 
const pets = input.substr(start.length + petDelimiter.length).split(petDelimiter); 
 
const result = start + pets.slice(0, 2).map(pet => petDelimiter + pet).join(''); 
 

 
console.log(result)

0

使用正則表達式:

var pets = "type:of:pets:pet:304126008:pet:328464062:pet:329003654:pet:274825265:pet:302508993".match(/(pet:[0-9]+)/g); 
 
    console.log("type:of:pets:" + pets.slice(0, 2).join(":"));

相關問題