W3cubDocs

/JavaScript

Intl.Segments.prototype.containing()

The Intl.Segments.prototype.containing() method returns an object describing the segment in the string that includes the code unit at the specified index.

Try it

Syntax

containing(codeUnitIndex)

Parameters

codeUnitIndex Optional

A number specifying the index of the code unit in the original input string. If the value is omitted, it defaults to 0.

Return Value

An object describing the segment of the original string with the following properties, or undefined if the supplied index value is out of bounds.

segment

A string containing the segment extracted from the original input string.

index

The code unit index in the original input string at which the segment begins.

input

The complete input string that was segmented.

isWordLike

A boolean value only if granularity is "word"; otherwise, undefined. If granularity is "word", then isWordLike is true when the segment is word-like (i.e., consists of letters/numbers/ideographs/etc.); otherwise, false.

Examples

// ┃0 1 2 3 4 5┃6┃7┃8┃9  ← code unit index
// ┃A l l o n s┃-┃y┃!┃   ← code unit
const input = "Allons-y!";

const segmenter = new Intl.Segmenter("fr", {granularity: "word"});
const segments = segmenter.segment(input);
let current = undefined;

current = segments.containing();
// → { index: 0, segment: "Allons", isWordLike: true }

current = segments.containing(4);
// → { index: 0, segment: "Allons", isWordLike: true }

current = segments.containing(6);
// → { index: 6, segment: "-", isWordLike: false }

current = segments.containing(current.index + current.segment.length);
// → { index: 7, segment: "y", isWordLike: true }

current = segments.containing(current.index + current.segment.length);
// → { index: 8, segment: "!", isWordLike: false }

current = segments.containing(current.index + current.segment.length);
// → undefined

Specifications

Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
containing
87
87
No
No
73
14.1
87
87
No
62
14.5
14.0
1.8
16.0.0

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segments/containing