2017-07-18 4 views
-1

Lassen Sie uns sagen, dass ich ein Array von Strings haben, wie so:Regex - Entfernen Unterwörter

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

Im Wesentlichen ist mein Ziel Streifen FirstName und Boy das neue Array als so haben:

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

Was wäre der einfachste Ansatz? Regex verwenden?

+0

sollte nicht die letzte Obama sein? – Mritunjay

+0

Wie lautet die Regel zum Extrahieren von Namen? Werden "FirstName" und "Boy" immer in genau dieser Form präsent sein? Möchten Sie die Mitte von drei strichbegrenzten Teilstrings extrahieren? –

Antwort

2

Verwendung nativer js map & split Funktion

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

Sie es in einen String umwandeln kann, ersetzen Sie alles, was Sie wollen und analysieren es JavaScript-Array zurück. Das ist eine mögliche Lösung

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