本文翻译youtube上的up主kudvenkat的javascript tutorial播放单
源地址在此:
https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b
以下方法是Javascript中可以用来获得string中的substring的方法:
substring()
substr()
slice()
substring() 方法: 这个方法有两个参数,起始和结尾.起始参数是必须的,它决定了提取的起始位置.结尾参数不是必须,它决定了提取的终点位置.在终点位置的单字是不包括在substring里的.如果结尾参数缺省,那么从起始位置开始到整个string结束的部分都会被提取.如果起始参数值大于结尾参数值,那么这个方法会自动交换两个参数.这就是说,起始位置会变成终点位置,而终点位置则会变成起始位置
例子:提取前10个字母
var str = "JavaScript Tutorial"; var result = str.substring(0, 10); alert(result);
Output : JavaScript
如果起始参数的值大于终点参数,那么这两个参数会互换
var str = "JavaScript Tutorial"; var result = str.substring(10, 0); alert(result);
Output : JavaScript
substr()方法: 这个方法有两个参数,起始和计数.起始参数是必须的,它决定了提取substring的起始位置.计数参数不是必须的,它决定了要从起始位置提取多少个字母.如果计数参数缺省,那么从起始位置开始会提取到string末尾的所有字母.如果计数参数为0或者负数,那么则会返回一个空string.
提取前10个字母
var str = "JavaScript Tutorial"; var result = str.substr(0, 10); alert(result);
Output : JavaScript
如果计数参数为缺省,那么会从起始位置提取剩下string的所有字母
var str = "JavaScript Tutorial"; var result = str.substr(11); alert(result);
Output : Tutorial
slice()方法:这个方法有两个参数,起始和结尾,起始参数为必须,它决定了提取的起始位置.结尾参数不是必须的,它决定了终点的位置.终点位置的字母不会包含在提取出的substring里.如果终点参数缺省,那么从起始位置开始的所有剩下string的字母都会被提取.
提取前10个字母
var str = "JavaScript Tutorial"; var result = str.slice(0, 10); alert(result);
Output : JavaScript
如果终点参数缺省,那么从起始位置开始到string末尾的所有字母都会被提取
var str = "JavaScript Tutorial"; var result = str.slice(11); alert(result);
Output : Tutorial
substr()和substring()方法的区别
区别在于第二个参数,substring的第二个参数表示了提取结束位置的index所在.终点位置的字母是不被substring包含的.而substr()的第二个参数则表示要返回多少个字母
另外一个区别是,substr()方法是不能在IE8和更早的版本上运行的
slice()和substring()的区别
如果起始参数大于结尾参数,那么substring()会交换两个值的位置,但是slice()则不会
另外一个在提取substring的过程中很有用的方法就是indexOf()方法.这个方法会返回一个string中特定值的第一次遇到的位置.如果特定值没找到则会返回-1
例子:找到email中@字母的位置
var str = "pragim@pragimtech.com"; var result = str.indexOf("@"); alert(result);
Output : 6