O objeto "Intl.segmentr" agora faz parte do valor de referência.

Agora você pode usar Intl.Segmenter para segmentação de texto sensível à localidade e dividir uma string em palavras, frases ou grafemas.

Compatibilidade com navegadores

  • 87
  • 87
  • 125
  • 14.1

Origem

Muitos idiomas não latinos, como chinês e japonês, não usam espaços para separar palavras. Portanto, usar o método JavaScript split() em espaços em branco para dividir o texto em palavras retornará resultados incorretos.

Ao criar um novo objeto Intl.Segmenter com o construtor Intl.segmenter(), transmita um locale e opções incluindo granularity, que pode ter valores de "grapheme", "word" ou "sentence". O exemplo a seguir cria um novo objeto Intl.Segmenter para japonês, dividindo em palavras.

const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });

Chamar o método segment() em um objeto Intl.Segmenter com uma string de texto retorna um iterável:

const segments = segmenter.segment(str);
console.table(Array.from(segments));

Acesse Using the Intl.segmentr API (em inglês) no blog do Polypane para ver um excelente tutorial sobre como usar esse recurso.

A Segmentação de texto internacional com segmentação internacional em JavaScript tem mais exemplos, incluindo como usar Intl.Segmenter com emojis.