React Native+TypeScript:如何将用户输入字符串解析为单个字符数组
如何将字符串转换为单个字符组成的数组
JavaScript 实现方案
不用纠结split,直接用扩展运算符(...)或者Array.from()就能搞定,还能正确处理 emoji 这类特殊字符:
- 扩展运算符写法:
const str = "hello world"; const charArray = [...str]; // 输出结果:['h','e','l','l','o',' ','w','o','r','l','d']
Array.from()写法:
const str = "hello world"; const charArray = Array.from(str); // 输出结果同上
Python 实现方案
Python 里直接把字符串转成列表即可,字符串本身是可迭代对象:
s = "hello world" char_list = list(s) # 输出结果:['h','e','l','l','o',' ','w','o','r','l','d']
为什么不推荐用split('')?
split('')在处理包含多字节的特殊字符(比如 emoji)时会拆分错误,而上面的方法能正确识别这类字符。比如:
const str = "hello😀world"; const charArray = [...str]; // 正确结果:['h','e','l','l','o','😀','w','o','r','l','d'] // 用split('')会得到错误的拆分结果
内容的提问来源于stack exchange,提问作者joseph griffing
相关产品推荐
相关产品推荐

