A continuación se muestra una alternativa positiva de JavaScript detrás que muestra cómo capturar el apellido de las personas con 'Michael' como primer nombre.
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?";
obtener una variedad de apellidos de personas llamadas Michael. El resultado debería ser:["Jordan","Johnson","Green","Wood"]
2) Solución:
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) Verificar solución
console.log(JSON.stringify( getMichaelLastName(exampleText) ));
// ["Jordan","Johnson","Green","Wood"]
Demostración aquí: http://codepen.io/PiotrBerebecki/pen/GjwRoo
También puedes probarlo ejecutando el fragmento a continuación.
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) ));