我正在使用将文本拆分为字符的组件。分裂时我的期望是我会得到️和像它一样的角色作为单个角色。
假设我们有以下文字:“你好️世界”。如果我将文本拆分为:
"Hello ️ world ".split('')
// result: "H", "e", "l", "l", "o", " ", "\ud83d", "\udd75", "️", "", …
"️".split('')
// result: Array [ "\ud83d", "\udd75", "️", "" ]
如何以一种将这些类型的符号视为一个实体的方式拆分字符串?
答案 0 :(得分:4)
尝试使用点差运算符代替.split()
:
[..."Hello ️ world "]
据我所知,spread
的作用和split
不起作用的原因是String.split
正在分离zero-width joiners而spread
不是。{ / p>
"️".split().length // 4
[..."️"].length // 3