ตอนนี้คุณสามารถใช้ Intl.Segmenter
สำหรับการแบ่งกลุ่มข้อความตามภาษาเพื่อแบ่งสตริงเป็นคำ ประโยค หรือกราฟฟิกได้แล้ว
ภาษาที่ไม่ใช่ภาษาละตินหลายๆ ภาษา เช่น จีนและญี่ปุ่น
ไม่ต้องใช้การเว้นวรรคในการแยกคำ ดังนั้น การใช้เมธอด split()
ของ JavaScript บนช่องว่างเพื่อแบ่งข้อความเป็นคำจะส่งผลให้ได้รับผลลัพธ์ที่ไม่ถูกต้อง
เมื่อสร้างออบเจ็กต์ Intl.Segmenter
ใหม่ด้วยเครื่องมือสร้าง Intl.segmenter()
ให้ส่งใน locale
และตัวเลือกรวมถึง granularity
ซึ่งอาจมีค่าเป็น "grapheme"
, "word"
หรือ "sentence"
ตัวอย่างต่อไปนี้สร้างออบเจ็กต์ Intl.Segmenter
ใหม่สำหรับภาษาญี่ปุ่นโดยแยกคำ
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
การเรียกใช้เมธอด segment()
ในออบเจ็กต์ Intl.Segmenter
ที่มีสตริงข้อความจะแสดงผลที่ทำซ้ำได้ ดังนี้
const segments = segmenter.segment(str);
console.table(Array.from(segments));
อ่านการใช้ Intl.Segmenter API ในบล็อก Polypane สำหรับบทแนะนำอันยอดเยี่ยมเกี่ยวกับวิธีใช้ฟีเจอร์นี้
การแบ่งกลุ่มข้อความระหว่างประเทศด้วย Intl.Segmenter ใน JavaScript
มีตัวอย่างเพิ่มเติม ซึ่งรวมถึงวิธีใช้ Intl.Segmenter
กับอีโมจิ