このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Segments.prototype.containing()

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.

containing()Segments インスタンスのメソッドで、指定されたインデックスにあるコード単位を含む文字列内の区間を記述するオブジェクトを返します。

試してみましょう

const segmenterFr = new Intl.Segmenter("fr", { granularity: "word" });
const string = "Que ma joie demeure";

const segments = segmenterFr.segment(string);

console.log(segments.containing(5));
// 予想される結果:
// Object {segment: 'ma', index: 4, input: 'Que ma joie demeure', isWordLike: true}

構文

js
containing(codeUnitIndex)

引数

codeUnitIndex 省略可

元の入力文字列におけるコード単位のインデックスを指定する数値。省略した場合のデフォルトは 0 となります。

返値

元の文字列の区間を説明するオブジェクトで、以下のプロパティを持ちます。与えられたインデックス値が範囲外の場合は undefined となります。

segment

元の入力文字列から抽出された区間を含む文字列。

index

区間を開始する元の入力文字列のコード単位のインデックス。

input

区切られた完全な入力文字列。

isWordLike

granularity"word" の場合のみ論理値となり、それ以外は undefined です。granularity"word" の場合、isWordLike は、区間が単語のようなもの(すなわち、文字/数字/英字/その他)である場合に true、それ以外の場合に false となります。

js
// ┃0 1 2 3 4 5┃6┃7┃8┃9  ← コード単位のインデックス
// ┃A l l o n s┃-┃y┃!┃   ← コード単位
const input = "Allons-y!";

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

let 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

仕様書

Specification
ECMAScript® 2027 Internationalization API Specification
# sec-%segmentsprototype%.containing

ブラウザーの互換性

関連情報