Resulta que tengo el siguiente problema, tengo un campo extraído desde una tabla que contiene el nombre completo de una persona (2 o más nombres, y apellidos). Y lo que necesito es separar los nombres y apellidos de la manera más correcta posible, cosa de que cada uno de ellos vaya en un campo correspondiente. Y el problema es mayor cuando los apellidos o nombres son compuestos, por ejemplo
Juan de Dios Vial de la Fuente
en este caso, queda separado de esta manera:
1er Nombre: Juan
2do Nombre: de Dios
1er Apellido: Vial
2do Apellido: de la Fuente
Sin embargo, por el método tradicional (instr ' ' y substr) me cortaría a la siguiente manera:
1er Nombre: Juan
2do Nombre: de
1er Apellido: Dios
2do Apellido: Vial
Quizás coupando un min length se solucione, pero también hay que tener en cuenta que hay apellidos y nombres de pocas letras (Ada, por ejemplo) que dificultarían esto. Sé que es bastante difícil de lograr algo perfecto, pero lo que estoy intentando es especificar las palabras más usadas en los nombres y evaluar cada conjunto de carácteres con ellas. Con que un 85% de los nombres sean correctamente trasladados me conformo.