x js unicode string Segmenter
x unicode string Segmenter
- js. for all string methods, maybe add a solution for emoji string
// 2026-01-13 // from // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter const xx = "吾輩は猫である。名前はたぬき。"; const segmenterJa = new Intl.Segmenter("ja-JP", { granularity: "word" }); const xresult = segmenterJa.segment(xx); console.log(Array.from(xresult)); /* [ { segment: "吾輩", index: 0, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "は", index: 2, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "猫", index: 3, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "で", index: 4, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "ある", index: 5, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "。", index: 7, input: "吾輩は猫である。名前はたぬき。", isWordLike: false }, { segment: "名前", index: 8, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "は", index: 10, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "たぬき", index: 11, input: "吾輩は猫である。名前はたぬき。", isWordLike: true }, { segment: "。", index: 14, input: "吾輩は猫である。名前はたぬき。", isWordLike: false } ] */ console.table(Array.from(xresult)); /* ┌───────┬──────────┬───────┬──────────────────────────────────┬────────────┐ │ (idx) │ segment │ index │ input │ isWordLike │ ├───────┼──────────┼───────┼──────────────────────────────────┼────────────┤ │ 0 │ "吾輩" │ 0 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 1 │ "は" │ 2 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 2 │ "猫" │ 3 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 3 │ "で" │ 4 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 4 │ "ある" │ 5 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 5 │ "。" │ 7 │ "吾輩は猫である。名前はたぬき。" │ false │ │ 6 │ "名前" │ 8 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 7 │ "は" │ 10 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 8 │ "たぬき" │ 11 │ "吾輩は猫である。名前はたぬき。" │ true │ │ 9 │ "。" │ 14 │ "吾輩は猫である。名前はたぬき。" │ false │ └───────┴──────────┴───────┴──────────────────────────────────┴────────────┘ */