Estoy haciendo una migración de sitio web que implica la extracción de nombre y apellido de nombre completo. Dado que estos fueron creados por el usuario final, existen todo tipo de permutaciones (aunque en inglés y, en general, no demasiado extraño). Sobre todo puedo tomar la primera palabra como primer nombre y la última palabra como apellido, pero tengo algunas excepciones de los prefijos y sufijos ocasionales. Al revisar los datos y tratar de entender todas las posibles excepciones, me di cuenta de que este es un problema común que se ha resuelto al menos parcialmente muchas veces anteriormente.Separe el nombre y el apellido de la cadena de nombre completo en C#
Antes de reinventar la rueda, ¿alguien tiene alguna expresión regular que les haya funcionado o un código útil? El rendimiento no es una consideración ya que es una utilidad única.
Los valores típicos para ser manejados:
Jason Briggs, JD Smith, John Y ciudadana, J de Scott Myers, Bill Jackobson III, Sr. John Mills
Actualización: si bien es un problema común, la solución típica parece involucrar el manejo de la mayoría de los casos y limpiar manualmente el resto.
(Dada la frecuencia de este problema debe ser experimentado yo esperaba originalmente para encontrar una biblioteca de utilidades por ahí, pero no fue capaz de encontrar uno mismo con Google)
¿Cuántos nombres tiene en la base de datos? –
Aproximadamente 10K, por lo que todavía es práctico realizar una comprobación manual con una solución que maneja el 95% de los casos. Usando la primera y la última palabra manejó aproximadamente el 85% de los nombres. – Stuart