JS中的split
个人理解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的更多相关文章
- 【JS新手教程】JS中的split()方法,拆分字符串
该方法具体如代码和图中的注释,直接在语句后面加注释了.格式:要拆分的字符串.split(拆分依据的字符)例如该文中的例子,拆分人名,电话,地址.该文中用了个文本框,文本框中需要输入的格式是:人名,电话 ...
- JS中,split()用法(将字符串按指定符号分割成数组)
<!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title ...
- 表值函数与JS中split()的联系
在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...
- js中slice(),splice(),split(),substring(),substr()的使用方法和区别
1.slice(): Array和String对象都有 在Array中 slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素j为结束的索引值,缺省时则获取 ...
- js中split()方法得到的数组长度
js 中split(",")方法通过 ”,“ 分割字符串, 如果字符串中没有 “,” , 返回的是字符串本身 var str = “abc”://分隔符个数为0 var newSt ...
- JS中split用法和数组中元素的删除
JS中split用法 <script language="javascript"> function spli(){ datastr="2,2,3,5,6,6 ...
- js中的slice()、substring()、substr()、split()、join()、indexof()
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...
- JS中split使用方法和数组中元素的删除
JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...
- js进阶js中支持正则的四个常用字符串函数(search march replace split)
js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...
随机推荐
- jsonp解决跨域
ajax请求: $.ajax({ type: "get",//必须使用get方式 async: false, url: "htt ...
- *** missing separator. Stop.
在make命令后出现这种错误提示,是提示第2行没有分隔符. 例如: 1 target:prerequisites 2 command -- 改为: 1 target:prerequisites 2 ...
- Codeforces Round #167 (Div. 2)
C. Dima and Staircase 线段树维护区间最大值. D. Dima and Two Sequences 由于模数不一定为质数,所以通过拆分质因数来做阶乘取模. E. Dima and ...
- Thread系列之Thread.Sleep(0)
线程这一概念,可以理解成进程中的一个小单元.这个单元是一个独立的执行单元,但是与进程中的其他线程共享进程中的内存单元. 由于Cpu资源是有限的,所以进程中的多个线程要抢占Cpu,这也导致进程中的多个线 ...
- java 自动登录代码
javaBean的代码 package bean; import java.io.Serializable; public class Admin implements Serial ...
- windows下安装Composer
1.下载https://getcomposer.org/composer.phar 2.复制到php.exe所在目录 3.在php.exe所在目录新建composer.bat文件 4.打开cmd,跳转 ...
- mysql 5.7修改密码
关闭正在运行的 MySQL : [root@www.woai.it ~]# service mysql stop 运行 [root@www.woai.it ~]# mysqld_safe --skip ...
- css预处理语言的模块化实践
编写css是前端工作中,一项普通而又频繁的劳动,由于css并不是一门语言,所以在程序设计上显得有些简陋.对于小型项目来说,css的量还不至于庞大,问题没有凸显,而如果要开发和持续维护一个较为大型的项目 ...
- filesort是通过相应的排序算法
filesort是通过相应的排序算法,将取得的数据在max_length_for_sort_data的默认值是1024. --------------------------------------- ...
- OC 单元测试学习笔记
UnitTest 编译异常汇总: 问题1 Check dependencies No architectures to compile for (ONLY_ACTIVE_ARCH=YES, activ ...