为了账号安全,请及时绑定邮箱和手机立即绑定

javascript中字符串split方法的拆分逻辑?

javascript中字符串split方法的拆分逻辑?

哈士奇WWW 2018-09-08 16:01:27
"aaabbbcccdeefff".split(/(\w)\1+/)这句代码的输出结果为:["", "a", "", "b", "", "c", "d", "e", "", "f", ""]但是:"aaabbbcccdeefff".replace(/(\w)\1+/g,"")输出结果为:"d"所以按照我的理解,拆分结果应该为:[d]那里出问题了呢?
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

作为 split 参数的正则表达式如果包换捕捉, 则捕捉的结果会被拼在结果数组中.
所以结果中会出现 a,b,c,e,f. 因为他们是(\w)捕捉的结果, ""则是由于每次迭代时分割符出现在开始或结尾则会产生一个""字符.

如果想达到预期的效果输出 [d], 可以这样做:

"aaabbbcccdeefff".replace(/(\w)\1+/g, '').split('')


查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 692 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信