[英]Splitting a string containing the UTF-8 character “叱”
在節點 14.3.0 中運行以下代碼
const data = 'ABCDE𠮟漢字でも大丈夫';
console.log(data);
console.log(data.split(''));
返回
ABCDE𠮟漢字でも大丈夫
[
'A', 'B', 'C', 'D',
'E', '�', '�', '漢',
'字', 'で', 'も', '大',
'丈', '夫'
]
為什么叱字符沒有被正確分割? 我已經測試了所有的jouyou kanji ,並且這個字符是唯一產生這個結果的字符。
Javascript 拆分,在 UTF-8 被廣泛采用之前出現。 但是為了防止破壞現有的應用程序,決定不改變它基於 UTF-16 的實現。 幸運的是,最近的 ES 規范實現了Array.from
來解決這個問題。
因此,對於您的示例,您可以使用Array.from
或 Array spread syntax..
此外,RegEx 還具有 unicode 的 /u 選項。 我也包括那個..
例如。
const data = 'ABCDE漢字でも大丈夫'; console.log([...data]); console.log(data.match(/.{1}/ug));
用“叱”代替“ ",是同一個字符。
const data = 'ABCDE叱漢字でも大丈夫'; console.log(data); console.log(data.split(''));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.