2017-07-18 67 views
-1

比方說,我有一個字符串數組像這樣:正則表達式 - 刪除子言

var people = ['FirstName.Bob.Boy', 'FirstName.James.Boy', 'FirstName.Obama.Boy'] 

本質上我的目標是FirstNameBoy條有新的數組像這樣:

var people = ['Bob', 'James', 'Obama'] 

什麼是最直接的方法?使用正則表達式?

+0

不應該是最後一個是奧巴馬? – Mritunjay

+0

提取名稱的規則是什麼? 「FirstName」和「Boy」總是以這種形式出現嗎?你想提取三個點分隔的子串的中間? – 2017-07-18 05:07:25

回答

2

使用原生JS map & split功能

var people = ['FirstName.Bob.Boy', 'FirstName.James.Boy', 'FirstName.Obama.Boy']; 
 

 
var result = people.map(function(name){return name.split(".")[1]}); 
 
console.log(result);

0

你可以將其轉換爲字符串,替換你想要的一切,並解析它回到JavaScript數組。這是一個可能的解決方案

var people = ['FirstName.Bob.Boy', 'FirstName.James.Boy', 'FirstName.Obama.Boy']; 
 

 
people = JSON.parse(JSON.stringify(people) 
 
      .replace(new RegExp('FirstName\.([^\.]*)\.Boy', 'g'), '$1')); 
 

 
console.log(people);