Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Intl.Segmenter
Baseline 2024Newly available
Since April 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
DasIntl.Segmenter-Objekt ermöglicht eine lokalisierungssensitive Textsegmentierung, mit der Sie bedeutungsvolle Elemente (Grapheme, Wörter oder Sätze) aus einer Zeichenkette erhalten können.
In diesem Artikel
Probieren Sie es aus
const segmenterFr = new Intl.Segmenter("fr", { granularity: "word" });const string = "Que ma joie demeure";const iterator = segmenterFr.segment(string)[Symbol.iterator]();console.log(iterator.next().value.segment);// Expected output: 'Que'console.log(iterator.next().value.segment);// Expected output: ' 'Konstruktor
Intl.Segmenter()Erstellt ein neues
Intl.Segmenter-Objekt.
Statische Methoden
Intl.Segmenter.supportedLocalesOf()Gibt ein Array zurück, das diejenigen der angegebenen Sprachstandorte enthält, die unterstützt werden, ohne auf die Standard-Spracheinstellung der Laufzeitumgebung zurückzugreifen.
Instanzeigenschaften
Diese Eigenschaften sind aufIntl.Segmenter.prototype definiert und werden von allenIntl.Segmenter-Instanzen geteilt.
Intl.Segmenter.prototype.constructorDie Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
Intl.Segmenter-Instanzen ist der Anfangswert derIntl.Segmenter-Konstruktor.Intl.Segmenter.prototype[Symbol.toStringTag]Der Anfangswert der
[Symbol.toStringTag]-Eigenschaft ist die Zeichenfolge"Intl.Segmenter". Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Instanzmethoden
Intl.Segmenter.prototype.resolvedOptions()Gibt ein neues Objekt mit Eigenschaften zurück, die die Sprach- und Granularitätsoptionen widerspiegeln, die während der Initialisierung dieses
Intl.Segmenter-Objekts berechnet wurden.Intl.Segmenter.prototype.segment()Gibt eine neue iterierbare
Segments-Instanz zurück, die die Segmente einer Zeichenkette gemäß der Spracheinstellung und Granularität dieserIntl.Segmenter-Instanz darstellt.
Beispiele
>Grundlegende Verwendung und Unterschied zu String.prototype.split()
Wenn wirString.prototype.split(" ") verwenden würden, um einen Text in Wörter zu segmentieren, würden wir kein korrektes Ergebnis erhalten, wenn der Sprachraum des Textes keine Leerzeichen zwischen Wörtern verwendet (was für Japanisch, Chinesisch, Thailändisch, Laotisch, Khmer, Myanmar usw. der Fall ist).
const str = "吾輩は猫である。名前はたぬき。";console.table(str.split(" "));// ['吾輩は猫である。名前はたぬき。']// The two sentences are not correctly segmented.const str = "吾輩は猫である。名前はたぬき。";const segmenterJa = new Intl.Segmenter("ja-JP", { granularity: "word" });const segments = segmenterJa.segment(str);console.table(Array.from(segments));// [{segment: '吾輩', index: 0, input: '吾輩は猫である。名前はたぬき。', isWordLike: true},// etc.// ]Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # segmenter-objects> |