이제 언어를 구분하는 텍스트 세분화에 Intl.Segmenter
를 사용하여 문자열을 단어, 문장 또는 그래프로 분할할 수 있습니다.
중국어, 일본어와 같이 라틴어가 아닌 많은 언어에서는 단어를 구분하는 데 공백을 사용하지 않습니다. 따라서 공백에 JavaScript split()
메서드를 사용하여 텍스트를 단어로 분할하면 잘못된 결과가 반환됩니다.
Intl.segmenter()
생성자로 새 Intl.Segmenter
객체를 만들 때 locale
와 granularity
를 포함한 옵션("grapheme"
, "word"
또는 "sentence"
값을 가질 수 있음)을 전달합니다. 다음 예에서는 일본어에 대해 단어로 분할하는 새 Intl.Segmenter
객체를 만듭니다.
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
텍스트 문자열이 있는 Intl.Segmenter
객체에서 segment()
메서드를 호출하면 반복 가능 항목이 반환됩니다.
const segments = segmenter.segment(str);
console.table(Array.from(segments));
이 기능을 사용하는 방법에 관한 훌륭한 가이드는 Polypane 블로그에서 Intl.Segmenter API 사용을 참고하세요.
JavaScript에서 Intl.Segmenter를 사용한 국제 텍스트 세분화에는 그림 이모티콘과 함께 Intl.Segmenter
를 사용하는 방법을 포함하여 더 많은 예가 있습니다.