Artık bir dizeyi kelimelere, cümlelere veya grafiklere bölmek amacıyla yerel ayara duyarlı metin segmentasyonu için Intl.Segmenter
kullanabilirsiniz.
Çince ve Japonca gibi Latin alfabesi kullanılmayan birçok dil, kelimeleri ayırmak için boşluk kullanmaz. Bu nedenle, metni kelimelere bölmek için boşlukta JavaScript split()
yöntemini kullanmak yanlış sonuçlar döndürür.
Intl.segmenter()
kurucusuyla yeni bir Intl.Segmenter
nesnesi oluştururken locale
değerini ve "grapheme"
, "word"
veya "sentence"
değerlerini olabilen granularity
içeren seçenekleri geçirin. Aşağıdaki örnek, kelimeleri bölerek Japonca için yeni bir Intl.Segmenter
nesnesi oluşturur.
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
Metin dizesiyle bir Intl.Segmenter
nesnesinde segment()
yönteminin çağrılması, iterasyonlu bir sonuç döndürür:
const segments = segmenter.segment(str);
console.table(Array.from(segments));
Bu özelliğin nasıl kullanılacağına dair mükemmel bir eğitim için Polypane blogundaki Intl.Segmenter API'yi Kullanma bölümünü okuyun.
JavaScript'te Intl.Segmenter ile Uluslararası Metin Segmentasyonu'nda, Intl.Segmenter
'nin emojiyle nasıl kullanılacağı da dahil olmak üzere daha fazla örnek bulunmaktadır.