Intl.Segmenter
Intl.Segmenter はテキストを文、単語、書記素(表示上の1文字)単位で分割します。日本語のように空白で区切られない言語での単語分割にも対応します。
概要
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 |
基本構文
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.
実務での使いどころ
-
Intl.Segmenter の活用
テキストをロケールに応じた規則で分割する API。文・単語・書記素の分割に対応。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features