如何实现字符串拆分:单个字符拆分但合并特殊字符与前导字符?
解决方案:将特殊字符与前导字符组合拆分字符串
你可以通过正则表达式匹配两种模式来实现需求:
- 字母/数字紧跟一个特殊字符的组合
- 单个的字母/数字
利用match方法提取所有匹配项即可得到目标结果:
const string = 'ABC9!3J;R7.T'; // 正则说明:优先匹配「字母/数字+特殊字符」,再匹配单个字母/数字 const regex = /[A-Za-z\d][!.;]|[A-Za-z\d]/g; const result = string.match(regex); console.log(result); // 输出: ['A', 'B', 'C', '9!', '3', 'J;', 'R', '7.', 'T']
扩展说明
如果需要支持更多特殊字符,只需把新增的特殊字符添加到正则的[!.;]字符集中即可。比如要包含@和#,正则可修改为:
const regex = /[A-Za-z\d][!.;@#]|[A-Za-z\d]/g;
内容的提问来源于stack exchange,提问作者Danny Roberts
相关产品推荐
相关产品推荐

