Newly available 主要ブラウザの最新版で対応済み。古いブラウザが対象外なら使用可能。

概要

Intl.Segmenter はテキストを文、単語、書記素(表示上の1文字)単位で分割します。日本語のように空白で区切られない言語での単語分割にも対応します。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
87
87
125
14.1
87
14.5
ビルトインオブジェクト

Intl.Segmenter() コンストラクターは、ロケールに依存したテキスト分割を可能にする Intl.Segmenter オブジェクトを生成します。

87
87
125
14.1
87
14.5

Intl.Segmenter.prototype.resolvedOptions() メソッドは、この Intl.Segmenter オブジェクトの初期化時に計算されたロケールおよび粒度のオプションを反映したプロパティを持つ新しいオブジェクトを返します。

87
87
125
14.1
87
14.5

Intl.Segmenter.prototype.segment() メソッドは、この Intl.Segmenter オブジェクトのロケールおよび粒度に従って文字列を分割します。

87
87
125
14.1
87
14.5

Intl.Segmenter.supportedLocalesOf() メソッドは、指定したロケールのうち、ランタイムのデフォルトロケールにフォールバックすることなくサポートされているものを含む配列を返します。

87
87
125
14.1
87
14.5

Intl.Segments のインスタンスは、テキスト文字列のセグメントを反復可能なコレクションとして保持します。Intl.Segmenter オブジェクトの segment() メソッドをコールすると、このインスタンスが返されます。

87
87
125
14.1
87
14.5

[Symbol.iterator]() メソッドは、iterable プロトコルの一部で、Intl.Segmenter オブジェクトのエントリーを反復処理できる新しいイテレーターオブジェクトを返します。各エントリーは、オブジェクトとして返されます。

87
87
125
14.1
87
14.5

Intl.Segments.containing() メソッドは、指定されたインデックスのコードユニットを含む文字列中のセグメントを記述したオブジェクトを返します。

87
87
125
14.1
87
14.5
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
const segmenter = new Intl.Segmenter('ja', { granularity: 'word' });
const segments = [...segmenter.segment('今日は天気がいいです')];
// Each segment: '今日', 'は', '天気', 'が', 'いい', 'です'

ライブデモ

Intl.Segmenter

Text word or text to split.Japanese etcemptywhite in blockcut word language to use.

プレビュー全画面表示

granularity type

Grapheme(writerecord), word(word), sentence(text). 3type.

プレビュー全画面表示

emoji. safeall split

Grapheme is emoji also 1character and positive.

プレビュー全画面表示

実務での使いどころ

  • Intl.Segmenter の活用

    テキストをロケールに応じた規則で分割する API。文・単語・書記素の分割に対応。

注意点

  • 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。

Powered by web-features