stringUtils.ts 975 B

123456789101112131415161718192021222324252627282930313233
  1. export default class StringUtils {
  2. /**
  3. * Normalise une chaine de caractères en retirant la casse et les caractères spéciaux, à des fins de recherche
  4. * par exemple
  5. * @param s
  6. */
  7. public static normalize(s: string): string {
  8. return s
  9. .toLowerCase()
  10. .replace(/[éèẽëêēĕėęě]/g, 'e')
  11. .replace(/[çćĉċč]/g, 'c')
  12. .replace(/[îïĩìíīĭ]/g, 'i')
  13. .replace(/[àãâåáäāăą]/g, 'a')
  14. .replace(/[ĝğġģ]/g, 'g')
  15. .replace(/[ħĥ]/g, 'h')
  16. .replace(/[öôõó]/g, 'o')
  17. .replace(/[ûüũùú]/g, 'u')
  18. .replace(/[š]/g, 's')
  19. .replace(/[ÿý]/g, 'y')
  20. .replace(/[ž]/g, 'z')
  21. .replace(/-/g, ' ')
  22. .trim()
  23. }
  24. /**
  25. * Convertit le paramètre d'entrée en entier
  26. * A la différence de parseInt, cette méthode accepte aussi les nombres.
  27. * @param s
  28. */
  29. public static parseInt(s: string | number) {
  30. return typeof s === 'number' ? s : parseInt(s)
  31. }
  32. }