个人理解spilt函数是javascript中字符串和正则表达式的一个联合应用。功能是根据指定的正则表达式(如果是字符串的话也会转为正则表达式)对字符串进行分割。返回值是一个被分割后的字符串数组。
最简单额分割就是根据一个指定的字符对字符串进行分割。
如:
"a,n.c,b".split(",")//=>["a","n.c","b"]
上面这个应用非常好理解,但是看到JS权威指南的时候看到的一个例子却让我花费了点心思才想清楚。
原文:
var text="teststring: 1, 2, 3";
text.split(/\D+/)//=>["","1","2","3"]
刚开始接触到这种正则与字符串的混用确实会看起来有点难。这里就说明应该如何一步步思考得到这个结果。
首先看一个例子:
",a,b,c".split(",")//=>["","1","2","3"]
对于这个结果不用多言,但是可以作为我们思考的一个起点。
个人刚开始难以理解的就是为什么在text使用非数字匹配以后会得到一个空字符串作为第一次分割的结果。对比思考这个问题我们很容易就得到答案了。text使用/\D+/匹配的第一次应该是"teststring: ",他作为一个切割标识,但是他前面已经没有字符,相当于例子中字符串(",a,b,c")中的第一个",",所以第一次返回为""。
接下来就是字符值"1"后面开始匹配了,这次匹配的是", "这样一个字符串,此时就会把"1" "2"分割出来。这样整个思路就通顺了。

JS中的split的更多相关文章

  1. 【JS新手教程】JS中的split()方法,拆分字符串

    该方法具体如代码和图中的注释,直接在语句后面加注释了.格式:要拆分的字符串.split(拆分依据的字符)例如该文中的例子,拆分人名,电话,地址.该文中用了个文本框,文本框中需要输入的格式是:人名,电话 ...

  2. JS中,split()用法(将字符串按指定符号分割成数组)

    <!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title ...

  3. 表值函数与JS中split()的联系

    在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...

  4. js中slice(),splice(),split(),substring(),substr()的使用方法和区别

    1.slice(): Array和String对象都有 在Array中  slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素j为结束的索引值,缺省时则获取 ...

  5. js中split()方法得到的数组长度

    js 中split(",")方法通过 ”,“ 分割字符串, 如果字符串中没有 “,” , 返回的是字符串本身 var str = “abc”://分隔符个数为0 var newSt ...

  6. JS中split用法和数组中元素的删除

    JS中split用法 <script language="javascript"> function spli(){ datastr="2,2,3,5,6,6 ...

  7. js中的slice()、substring()、substr()、split()、join()、indexof()

    在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...

  8. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

  9. js进阶js中支持正则的四个常用字符串函数(search march replace split)

    js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...

随机推荐

  1. first

    不知道学啥,怎么办,写博客.找不到工作,怎么办,写博客.好吧,第一天博客完成.-渣渣米

  2. LINUX测试环境部署nginx(五)

    安装配置nginx 安装编译环境:yum -y install pcre-devel openssl openssl-devel 拷贝nginx压缩文件到目标目录后,解压tar -zxvf nginx ...

  3. lame边录音边转换

    文章出处:http://big-joe.blog.sohu.com/88902836.html void CViewTFreqList::RecFileInit(LPCTSTR sFileName,  ...

  4. [BZOJ 2819]Nim

    最近都忙的没空写题解了喵- 看到 1= 终于是保住了也算是一个小小的安慰吧 555…… 湖北省队互测题,据说会爆栈,但 Linux 下 栈空间=内存=128M 真的吃不下? 反正我是写了个人工栈- 这 ...

  5. python中的input,print

    此用例在python3.3.5中测试通过: 输入:在python中输入是使用input,下面示例代码表示把输入的值存入变量s中,并输入s 在这里提醒一下:使用input获取的值都是string类型

  6. java代码

    io的使用 package com.tan.io; import java.io.*; import java.util.*; class Employee{ private String name; ...

  7. Extended TCP/IP Stack In Linux: Netfilter Hooks and IP Table

    https://www.amazon.com/gp/product/1118887735 The chapter about debugging is rather outdated - it des ...

  8. WebService异常时,查看请求状态码方法

    /// <summary> /// Test 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri ...

  9. arcgis 10.2连接Oracle

  10. ecstore-lnmp环境下crontab不执行原因

    因为lnmp.org默认禁止了proc_open函数,需要开启 开启后 lnmp restart ==== contab还是用crontab -e好,有些用www用户的似乎执行不了