[译]Javasctipt中的substring

本文翻译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

 

原文地址:https://www.cnblogs.com/otakuhan/p/7653709.html