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.prototype.segment()

Baseline 2024
Newly available

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 Intl.Segmenter.prototype.segment() segmente une chaîne de caractères selon une locale et une granularité fournies par l'objet Intl.Segmenter courant.

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]);
// Expected output:
// 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 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

Specification
ECMAScript® 2026 Internationalization API Specification
# sec-intl.segmenter.prototype.segment

Compatibilité des navigateurs