Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Intl.Segmenter : méthode segment()

Baseline 2024
Nouvellement disponible

Depuis April 2024, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.

La méthode segment() des instances de Intl.Segmenter segmente une chaîne de caractères selon la locale et la granularité de cet objet Intl.Segmenter.

Exemple interactif

const string1 = "Que ma joie demeure";

const segmenterFrGrapheme = new Intl.Segmenter("fr", {
  granularity: "grapheme",
});
const graphemeSegments = segmenterFrGrapheme.segment(string1);

console.log(Array.from(graphemeSegments)[0]);
// Résultat attendu :
// Object {segment: 'Q', index: 0, input: 'Que ma joie demeure'}

Syntaxe

js
segment(input)

Paramètres

input

Le texte à segmenter sous la forme d'une chaîne de caractères.

Valeur de retour

Un nouvel objet itérable Segments qui contient les segments de la chaîne de caractères fournie en entrée et dont le découpage suit la locale et la granularité fournies par le segmenteur.

Exemples

js
// On crée un segmenteur propre à une locale
const segmenter = new Intl.Segmenter("fr", { granularity: "word" });

// On l'utilise pour obtenir un itérateur sur les segments
// d'une chaîne de caractères
const input = "Moi ? N'est-ce pas ?";
const segments = segmenter.segment(input);

// Et on parcourt cet ensemble
for (const { segment, index, isWordLike } of segments) {
  console.log(
    "segment situé aux unités [%d, %d]: «%s»%s",
    index,
    index + segment.length,
    segment,
    isWordLike ? " (type mot)" : "",
  );
}
// Affiche dans la console
// segment situé aux unités [0, 3]: «Moi» (type mot)
// segment situé aux unités [3, 4]: « »
// segment situé aux unités [4, 5]: «?»
// segment situé aux unités [5, 6]: « »
// segment situé aux unités [6, 11]: «N'est» (type mot)
// segment situé aux unités [11, 12]: «-»
// segment situé aux unités [12, 14]: «ce» (type mot)
// segment situé aux unités [14, 15]: « »
// segment situé aux unités [15, 18]: «pas» (type mot)
// segment situé aux unités [18, 19]: « »
// segment situé aux unités [19, 20]: «?»

Spécifications

Spécification
ECMAScript® 2027 Internationalization API Specification
# sec-intl.segmenter.prototype.segment

Compatibilité des navigateurs