Intl.Segmenter
åºçº¿
2024
æè¿å¯ç¨
èª April 2024 èµ·ï¼æ¤ç¹æ§å·²å¨ææ°æµè§å¨ä¸å¾å°æ¯æãä½å¨è¾æ§çè®¾å¤ææµè§å¨ä¸å¯è½æ æ³è¿è¡ã
Intl.Segmenter å¯¹è±¡æ¯æè¯è¨ææçææ¬åå²ï¼å
è®¸ä½ å°ä¸ä¸ªå符串å岿ææä¹ççæ®µï¼åãè¯ãå¥ï¼ã
å°è¯ä¸ä¸
const segmenterFr = new Intl.Segmenter("fr", { granularity: "word" });
const string1 = "Que ma joie demeure";
const iterator1 = segmenterFr.segment(string1)[Symbol.iterator]();
console.log(iterator1.next().value.segment);
// Expected output: 'Que'
console.log(iterator1.next().value.segment);
// Expected output: ' '
æé 彿°
Intl.Segmenter()-
å建ä¸ä¸ªæ°ç
Intl.Segmenter对象ã
éææ¹æ³
Intl.Segmenter.supportedLocalesOf()-
è¿åä¸ä¸ªæ°ç»ï¼å ¶ä¸å æ¬äºä¼ å ¥åæ°ä¸ç忝æçè¯è¨ï¼èä¸å¿ åéäºè¿è¡æ¶çé»è®¤è¯è¨ç¯å¢ã
å®ä¾æ¹æ³
Intl.Segmenter.prototype.resolvedOptions()-
è¿åä¸ä¸ªæ°ç对象ï¼å¯¹è±¡ç屿§åæ äºè¿ä¸ª
Intl.Segmenterå®ä¾åå§åæé´è®¡ç®çè¯è¨ç¯å¢åç²åº¦é项ã Intl.Segmenter.prototype.segment()-
è¿åä¸ä¸ªæ°ç
Segmentså®ä¾ï¼å®æ¯ä¸ä¸ªå¯è¿ä»£å¯¹è±¡ï¼å å«äºæ ¹æ®å½åIntl.Segmenterå®ä¾çè¯è¨ç¯å¢åç²åº¦é项çæçåç¬¦ä¸²çæ®µã
示ä¾
>åºç¡ç¨æ³åä¸ String.prototype.split() çåºå«
妿æä»¬ä½¿ç¨ String.prototype.split(" ") æ¥å°ä¸æ®µææ¬åå²æè¯æ±ï¼å¦æè¿æ®µææ¬çè¯è¨å¹¶ä¸æ¯ä½¿ç¨ç©ºæ ¼æ¥åå²è¯æ±çè¯ï¼é£æä»¬å°±ä¸è½ä¿è¯å¾å°çæ¯æ£ç¡®çç»æï¼ä¾å¦æ¥è¯ãä¸æãæ³°è¯ãèæè¯ã髿£è¯ãç¼
ç¸è¯çè¯è¨ï¼ã
const str = "å¾è¼©ã¯ç«ã§ãããååã¯ãã¬ãã";
console.table(str.split(" "));
// ['å¾è¼©ã¯ç«ã§ãããååã¯ãã¬ãã']
// è¿ä¸¤ä¸ªå¥å并没æå¾å°æ£ç¡®çåå²ã
const str = "å¾è¼©ã¯ç«ã§ãããååã¯ãã¬ãã";
const segmenterJa = new Intl.Segmenter("ja-JP", { granularity: "word" });
const segments = segmenterJa.segment(str);
console.table(Array.from(segments));
// [{segment: 'å¾è¼©', index: 0, input: 'å¾è¼©ã¯ç«ã§ãããååã¯ãã¬ãã', isWordLike: true},
// etc.
// ]
è§è
| è§è |
|---|
| ECMAScript® 2027 Internationalization API Specification> # segmenter-objects> |