Js分割字符串

来源:互联网 发布:问道外传数据库修改 编辑:程序博客网 时间:2024/06/06 09:52

如果需要分割字符串可以使用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

原创粉丝点击