Aşağıda, 'Michael' olan kişilerin soyadının ilk adı olarak nasıl yakalanacağını gösteren olumlu bir JavaScript arkasıdır.
1) Bu metin verildiğinde:
const exampleText = "Michael, how are you? - Cool, how is John Williamns and Michael Jordan? I don't know but Michael Johnson is fine. Michael do you still score points with LeBron James, Michael Green Miller and Michael Wood?";
Michael adında bir dizi soyadı alın. Sonuç şöyle olmalıdır:["Jordan","Johnson","Green","Wood"]
2) Çözüm:
function getMichaelLastName2(text) {
return text
.match(/(?:Michael )([A-Z][a-z]+)/g)
.map(person => person.slice(person.indexOf(' ')+1));
}
// or even
.map(person => person.slice(8)); // since we know the length of "Michael "
3) Çözümü kontrol edin
console.log(JSON.stringify( getMichaelLastName(exampleText) ));
// ["Jordan","Johnson","Green","Wood"]
Burada demo: http://codepen.io/PiotrBerebecki/pen/GjwRoo
Aşağıdaki parçacığı çalıştırarak da deneyebilirsiniz.
const inputText = "Michael, how are you? - Cool, how is John Williamns and Michael Jordan? I don't know but Michael Johnson is fine. Michael do you still score points with LeBron James, Michael Green Miller and Michael Wood?";
function getMichaelLastName(text) {
return text
.match(/(?:Michael )([A-Z][a-z]+)/g)
.map(person => person.slice(8));
}
console.log(JSON.stringify( getMichaelLastName(inputText) ));