Estoy usando perl y necesito dividir cadenas de nombres de autor delimitados por comas, así como un último "y". Los nombres se forman como primer nombre y apellido, con este aspecto:Necesita ayuda para dividir esta cadena de nombres (nombre y apellido pares delimitados por comas y "y")
$string1 = "Joe Smith, Jason Jones, Jane Doe and Jack Jones";
$string2 = "Joe Smith, Jason Jones, Jane Doe, and Jack Jones";
$string3 = "Jane Doe and Joe Smith";
# Next line doesn't work because there is no comma between last two names
@data = split(/,/, $string1);
quisiera sólo para dividir los nombres completos en elementos de una matriz, como lo que split() haría, por lo que el @data array sería contener, por ejemplo:
@data[0]: "Joe Smith"
@data[1]: "Jason Jones"
@data[2]: "Jane Doe"
@data[3]: "Jack Jones"
sin embargo, el problema es que no hay una coma entre los dos últimos nombres en las listas. Cualquier ayuda sería apreciada.
¿Qué vas a hacer con "nombres" como "Joe Smith, MD and Mary and Joe Smith"? – tadmc
nota, no usa '@data [1]' sino más bien '$ data [1]'. Como solo está utilizando un elemento, es un escalar. –