欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在JavaScript中访问字符串的子串

程序员文章站 2023-08-21 20:30:34
 使用substring()或slice()方法(nn4+, ie4+),下面说明它们的具体用法。     &nbs...

 使用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标准不提倡使用该方法。