首页 > 编程 > JavaScript > 正文

在JavaScript中访问字符串的子串

2019-11-20 12:05:40
字体:
来源:转载
供稿:网友

 使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。


      substring()的原型为:  

string.substring(from, to)


      第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。


      如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。

   var fullString = "Every dog has his day.";   var section = fullString.substring(0, 4); // section is "Ever".   section = fullString.substring(4, 0);   // section is also "Ever".   section = fullString.substring(1, 1);   // section is an empty string.   section = fullString.substring(-2, 4); // section is "Ever", same as fullString.substring(0, 4);  slice()的原型为: string.slice(start, end)



      参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。


      还有一个方法是substr(),其原型为: 

string.substr(start, length)


      从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的长度。JavaScript标准不提倡使用该方法。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表