https://h3manth.com/posts/unicode-segmentation-in-javascript/
Unicode 定义了一个字符分割算法来查找字符之间的边界。Unicode 还定义了一种算法,用于查找 CLDR 根据地区设置调整的词和句子之间的边界。这些边界可能是有用的,例如,在实现一个文本编辑器,其中有跳跃或突出单词和句子的命令,Intl.Segmenter API 可以帮助我们轻松地分割这些代码点。
示例代码:
let segmenter = new Intl.Segmenter("kn-IN", {granularity: "word"}); let input = "ಆವು ಈವಿನ ನಾವು ನೀವಿಗೆ ಆನು ತಾನದ ತನನನಾ"; let segments = segmenter.segment(input); for (let {segment, index, isWordLike} of segments) { console.log("segment at code units [%d, %d): «%s»%s", index, index + segment.length, segment, isWordLike ? " (word-like)" : "" ); }