Files
30-seconds-of-code/snippets/removeAccents.md
2020-10-03 20:23:40 -03:00

770 B

title, tags
title tags
removeAccents string,beginner

Removes accents from strings.

  • Uses a set of known accents for all vowels.
  • Iterates through the characters, replacing the accentued ones for its unaccentuated form.
const removeAccents = (string) => {
  const accents = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖòóôõöÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûü';
  const noAccents = 'AAAAAAaaaaaaOOOOOOoooooEEEEeeeeIIIIiiiiUUUUuuuu';

  let splitted = string.split('');

  splitted = splitted.map((char) => {
    const pos = accents.indexOf(char);
    return (pos >= 0 ? noAccents[pos] : char);
  });

  const newString = splitted.join('');

  return newString;
}
removeAccents('Antoine de Saint-Exupéry'); // 'Antoine de Saint-Exupery'