Js分割字符串 - split

如果需要分割字符串可以使用split函数,像这样

var str = 'HHGG\nKK\n\nLL\n\n\nFF\nDD\n';
var arr = str.split('\n');

这个用一个字符串调用这个函数并传入一个分隔符,split将根据这个参数将这个字符串分割成一个字符串数组,那么问题来了,上面的这两部操作以后,arr.length即arr数组长度为多少呢?

答案是9 ! ! !

因为如果用split(‘\n’)分割字符串,他只是把每一个换行符作为一个分割界限,假如两个换行符在一起也是会把中间分出来一个空字符”,比如上面那个字符串

'HHGG\nKK\n\nLL\n\n\nFF\nDD\n'

HHGG为第一个
KK为第二个

这时,碰到了两个\n
\n\n,split不会把这理解为一个\n或者跳过,而是理解为

\n  ‘  ’  \n

所以

‘ ’ 是第三个
……

\n\n\n三个\n中间会多出来两个空字符‘ ’, ‘ ’,
最后结尾是\n,所以,最后还会多出来一个空字符 ‘ ’,
所以这样算下来就是9个,每次有\n就分割,有字符就添加,没字符就是空,但是,一定会占据字符串数组的一个位置。

By DoubleJan
2017-07-20

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值