Intl.Segmenter

Baseline 2024

Newly available

Since April 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Das Intl.Segmenter-Objekt ermöglicht lokalisierungsabhängige Textsegmentierung, wodurch Sie bedeutungsvolle Elemente (Grapheme, Wörter oder Sätze) aus einer Zeichenfolge erhalten können.

Probieren Sie es aus

Konstruktor

Intl.Segmenter()

Erstellt ein neues Intl.Segmenter-Objekt.

Statische Methoden

Intl.Segmenter.supportedLocalesOf()

Gibt ein Array zurück, das diejenigen der bereitgestellten Lokalisierungen enthält, die unterstützt werden, ohne auf die Standardlokalisierung der Laufzeitumgebung zurückgreifen zu müssen.

Instanzeigenschaften

Diese Eigenschaften sind auf Intl.Segmenter.prototype definiert und werden von allen Intl.Segmenter-Instanzen geteilt.

Intl.Segmenter.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für Intl.Segmenter-Instanzen ist der Anfangswert der Intl.Segmenter-Konstruktor.

Intl.Segmenter.prototype[Symbol.toStringTag]

Der Anfangswert der [Symbol.toStringTag]-Eigenschaft ist der String "Intl.Segmenter". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Instanzmethoden

Intl.Segmenter.prototype.resolvedOptions()

Gibt ein neues Objekt mit Eigenschaften zurück, die die während der Initialisierung dieses Intl.Segmenter-Objekts berechneten Lokalisierungs- und Granularitätsoptionen widerspiegeln.

Intl.Segmenter.prototype.segment()

Gibt eine neue, iterierbare Segments-Instanz zurück, die die Segmente einer Zeichenfolge entsprechend der Lokalisierung und Granularität dieser Intl.Segmenter-Instanz darstellt.

Beispiele

Grundlegende Nutzung und Unterschied zu String.prototype.split()

Wenn wir String.prototype.split(" ") verwenden würden, um einen Text in Wörter zu segmentieren, würden wir nicht das korrekte Ergebnis erhalten, wenn die Lokalisierung des Textes keine Leerzeichen zwischen den Wörtern verwendet (was z.B. bei Japanisch, Chinesisch, Thailändisch, Laotisch, Khmer, Myanmar usw. der Fall ist).

js
const str = "吾輩は猫である。名前はたぬき。";
console.table(str.split(" "));
// ['吾輩は猫である。名前はたぬき。']
// The two sentences are not correctly segmented.
js
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 Internationalization API Specification
# segmenter-objects

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch