如何将具有特殊字符(️,)的javascript字符串拆分为单个字符?

时间:2018-02-27 19:10:19

标签: javascript

我正在使用将文本拆分为字符的组件。分裂时我的期望是我会得到️和像它一样的角色作为单个角色。

假设我们有以下文字:“你好️世界”。如果我将文本拆分为:

"Hello ️‍ world ".split('') 
// result: "H", "e", "l", "l", "o", " ", "\ud83d", "\udd75", "️", "‍", …  
"️‍".split('') 
// result: Array [ "\ud83d", "\udd75", "️", "‍" ]

如何以一种将这些类型的符号视为一个实体的方式拆分字符串?

1 个答案:

答案 0 :(得分:4)

尝试使用点差运算符代替.split()

[..."Hello ️‍ world "]

据我所知,spread的作用和split不起作用的原因是String.split正在分离zero-width joinersspread不是。{ / p>

"️‍".split().length // 4
[..."️‍"].length    // 3