截取字符串

顺数从0开始数,倒数从-1开始数。

语法一substring()方法用于提取字符串中介于两个指定下标之间的字符。

stringObject.substring(start,stop);
substring()
参数是否必填描述
start必选一个非负的整数,规定要提取的子串的第一个字符在stringObject中的位置
stop可选一个非负的整数,比要提取的子串的最后一个字符在stringObject中的位置多1。如果省略该参数,那么返回的子串会一直在字符串的结尾。

substring()返回值:

        一个新的字符串,该字符串包含stringObject的一个子字符串,其内容是从start到stop-1处的所有字符,其长度为stop减start。

substring()说明:

        1、substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

        2、如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

案例:

①截取第6位开始的字符:

var stringObject= "HJBZF Hello World."; 
var demo = stringObject.substring(6); 
console.log(demo);     //"Hello World."
console.log(demo.length);   //12

②截取第0位开始到第10位为止的字符    //[0,9)

var stringObject = "hjbzf Hello World."; 
var demo = stringObject.substring(0,10); //结果: "hjbzf Hell"
console.log(demo);   //"Every Hell"
console.log(demo.length);   //10   10=10-0 => stop-start

③当start比stop大的时候

var stringObject = "HJBZF Hello World."; 
var demo = stringObject.substring(7,4); 
console.log(demo);   //F H
console.log(demo.length);   //3

重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。

语法二:slice() 方法可从已有的数组中返回选定的元素。

arrayObject.slice(start,end);
slice()
参数是否必填描述
start必填规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end可选规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

slice()返回值:

       返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

slice()说明:

       请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice();后面会说到。

slice()案例:

①截取从第 11 位到倒数第 6 位为止的字符

var arrayObject = "A man becomes learned by asking questions."; 
var demoslice = arrayObject.slice(11,-6);
console.log(demoslice);        //es learned by asking ques
console.log(demoslice.length);   //25

②截取从第11位开始的字符

var arrayObject = "A man becomes learned by asking questions."; 
var demoslice = arrayObject.slice(11);
console.log(demoslice);        //es learned by asking questions.
console.log(demoslice.length);   //31

③当参数均为正数时

var arrayObject = "A man becomes learned by asking questions."; 
var demoslice = arrayObject.slice(11,6);
console.log(demoslice);        //
console.log(demoslice.length);   //0

④当参数均为负数时

var arrayObject = "A man becomes learned by asking questions."; 
var demoslice = arrayObject.slice(-11,-6);
console.log(demoslice);        // ques
console.log(demoslice.length);   //5

 

注释:可使用负值从数组的尾部选取元素。

注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

语法三:substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

stringObject.substr(start,length);
substr()
参数是否必填描述
start必填要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length可选子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

返回值:

       一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

①从第 6 位开始截取长度为 4 的字符

var stringObject = "A man becomes learned by asking questions."; 
var demosubstr = stringObject.substr(6,4); 
console.log(demosubstr);        //结果: "beco"
console.log(demosubstr.length);       //4  因为已给出了(6,4)中长度为4

注释:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。 在之后的版本中,此 BUG 已被修正。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值