ตอนนี้คุณใช้
Intl.Segmenter
สำหรับการแบ่งกลุ่มข้อความที่ละเอียดอ่อนตามภาษา
เพื่อแยกสตริงเป็นคำ ประโยค
หรือกราฟเมียม
มีหลายภาษาที่ไม่ใช่ภาษาละติน เช่น จีนและญี่ปุ่น
อย่าเว้นวรรคเพื่อแยกคำ ดังนั้น การใช้ JavaScript split()
ในช่องว่างเพื่อแยกข้อความเป็นคำ จะแสดงผลลัพธ์ที่ไม่ถูกต้อง
เมื่อสร้างออบเจ็กต์ 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
กับอีโมจิ