האובייקט Intl.Segmenter הוא עכשיו חלק מ-Baseline

עכשיו אפשר להשתמש Intl.Segmenter לפילוח טקסט תלוי-מיקום כדי לפצל מחרוזת למילים, למשפטים או גרפים.

תמיכה בדפדפן

  • Chrome: 87.
  • קצה: 87.
  • Firefox: 125.
  • Safari: 14.1.

מקור

הרבה שפות שאינן לטיניות, כמו סינית ויפנית, לא משתמשים ברווחים כדי להפריד בין המילים. לכן, שימוש ב-JavaScript split() על מקש הרווח הלבן כדי לפצל את הטקסט למילים, תחזיר תוצאות שגויות.

כשיוצרים אובייקט Intl.Segmenter חדש עם Intl.segmenter() constructor, להעביר ב-locale ואפשרויות כולל granularity, שניתן הם "grapheme", "word" או "sentence". הבאים הדוגמה יוצרת אובייקט Intl.Segmenter חדש ליפנית, לפי פיצול למילים.

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

קריאה ל segment() method באובייקט Intl.Segmenter עם מחרוזת טקסט מחזירה ערך איטרציה:

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

איך משתמשים ב-Intl.Segmenter API בבלוג Polypane כדי לקבל מדריך מצוין על השימוש בתכונה הזו.

פילוח טקסט בינלאומי באמצעות Intl.Segmenter ב-JavaScript יש דוגמאות נוספות, כולל איך להשתמש ב-Intl.Segmenter עם אמוג'י.