// Note: Using non-standard V8 feature // https://code.google.com/archive/p/v8-i18n/wikis/BreakIterator.wiki // // The standard is now Intl.Segmenter but no browser implements it yet. // function cut(text) { const iterator = new Intl.v8BreakIterator(["th"]); iterator.adoptText(text); const result = []; let pos = iterator.first(); while (pos !== -1) { let nextPos = iterator.next(); if (nextPos === -1) break; result.push(text.slice(pos, nextPos)); pos = nextPos; } return result }