Tous les articles

Compter les caractères et les mots : pourquoi ce n'est pas toujours trivial

Compter les caractères et les mots semble trivial, mais le français a sa propre subtilité : l'élision, qui fusionne deux mots en un seul token sans espace grâce à une simple apostrophe.

L'élision : deux mots, une seule chaîne

Devant une voyelle ou un h muet, « le », « la », « je », « que » ou « ne » perdent leur voyelle finale et se collent au mot suivant : « l'arbre », « j'arrive », « qu'il vienne ». Un compteur de mots basé sur les espaces voit « l'arbre » comme un seul mot, alors qu'il s'agit grammaticalement de deux mots distincts (l'article « le » et le nom « arbre ») réunis par une apostrophe plutôt que séparés par une espace.

Mots composés avec ou sans trait d'union

Le français hésite constamment entre mot composé avec trait d'union (« arc-en-ciel », « porte-monnaie ») et mots simplement juxtaposés avec espace (« pomme de terre »). La réforme orthographique de 1990 a même supprimé le trait d'union dans certains mots composés (« week-end » recommandé en un seul mot « weekend » dans la nouvelle orthographe), ce qui signifie qu'un même mot peut être compté comme un ou deux mots selon la convention orthographique suivie par le texte.

Accents et nombre de points de code

Un caractère comme « é » peut être représenté par un seul point de code (caractère précomposé) ou par deux — la lettre de base « e » plus un accent aigu combinant séparé. Visuellement identique, mais le nombre de points de code Unicode change selon la façon dont le texte source a été encodé, ce qui peut fausser un comptage de caractères strict.

À quoi ça sert

  • Vérifier un texte par rapport à une limite de caractères (un tweet, un SMS, un champ de formulaire).
  • Estimer le temps de lecture d'un article à partir de son nombre de mots.
  • Comprendre pourquoi deux phrases de même sens donnent des comptages de mots différents à cause de l'élision.

Compter les mots dans les langues sans espaces

En chinois, japonais ou thaï, les mots ne sont traditionnellement pas séparés par des espaces — la frontière entre les mots est déterminée par la grammaire et le contexte, pas par un séparateur. « Compter les mots » pour ces langues exige donc en réalité un algorithme de segmentation de texte à part entière, et un simple comptage par espaces y donnerait soit un seul « mot » pour tout le texte, soit un résultat dénué de sens.

Essayer l'outil