Abaixo, há uma alternativa positiva ao JavaScript, mostrando como capturar o sobrenome das pessoas com 'Michael' como primeiro nome.
1) Dado este texto:
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?";
obter uma matriz de sobrenomes de pessoas chamadas Michael. O resultado deve ser:["Jordan","Johnson","Green","Wood"]
2) Solução:
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) Verifique a solução
console.log(JSON.stringify( getMichaelLastName(exampleText) ));
// ["Jordan","Johnson","Green","Wood"]
Demonstração aqui: http://codepen.io/PiotrBerebecki/pen/GjwRoo
Você também pode experimentá-lo executando o snippet abaixo.
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) ));