Intl.Segmenter 객체가 이제 Baseline의 일부입니다.

이제 언어를 구분하는 텍스트 세분화에 Intl.Segmenter를 사용하여 문자열을 단어, 문장 또는 그래프로 분할할 수 있습니다.

브라우저 지원

  • 87
  • 87
  • 125
  • 14.1

소스

중국어, 일본어와 같이 라틴어가 아닌 많은 언어에서는 단어를 구분하는 데 공백을 사용하지 않습니다. 따라서 공백에 JavaScript split() 메서드를 사용하여 텍스트를 단어로 분할하면 잘못된 결과가 반환됩니다.

Intl.segmenter() 생성자로 새 Intl.Segmenter 객체를 만들 때 localegranularity를 포함한 옵션("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를 사용하는 방법을 포함하여 더 많은 예가 있습니다.