Guest User

Untitled

a guest
Feb 19th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. import re
  4.  
  5. regex = re.compile(r"((?:\w+ )?(?:del|de|san|la)(?: las| la| los)?(?: \w+)?)")
  6.  
  7. def split_last_name(last_name):
  8. res = regex.search(last_name.lower())
  9. try:
  10. comp = res.groups()[0]
  11. sp = last_name.split(comp)
  12. names = [_.strip().title() if _ and any(sp) else comp for _ in sp]
  13. except AttributeError:
  14. names = [last_name]
  15. return names
  16.  
  17. l = [
  18. 'guillermo del toro',
  19. 'de la fuente',
  20. 'del corral lopez',
  21. 'de los santos vera',
  22. 'carrasco de la cruz',
  23. 'garcia de sobrecasa',
  24. 'alvarez de arenales',
  25. 'martinez de hoz',
  26. 'lopez de lacalle',
  27. 'velez de guevara',
  28. 'la algo Jardines',
  29. 'la cruz marin',
  30. 'Agape ponte de silva',
  31. 'paredes bastidas de uribe',
  32. 'bastidas de uribe chavez',
  33. 'ruiz gutierrez de perez',
  34. 'yataco la fauci',
  35. 'del pielago zevallos'
  36. ]
  37.  
  38. for _ in l:
  39. print split_last_name(_)
Add Comment
Please, Sign In to add comment