ขณะนี้ออบเจ็กต์ Intl.Segmenter เป็นส่วนหนึ่งของ Baseline แล้ว

ตอนนี้คุณสามารถใช้ Intl.Segmenter สำหรับการแบ่งกลุ่มข้อความตามภาษาเพื่อแบ่งสตริงเป็นคำ ประโยค หรือกราฟฟิกได้แล้ว

การสนับสนุนเบราว์เซอร์

  • 87
  • 87
  • 125
  • 14.1

แหล่งที่มา

ภาษาที่ไม่ใช่ภาษาละตินหลายๆ ภาษา เช่น จีนและญี่ปุ่น ไม่ต้องใช้การเว้นวรรคในการแยกคำ ดังนั้น การใช้เมธอด 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 กับอีโมจิ