您的位置:首页 > Web前端 > JavaScript

js中substring和substr的用法

2012-04-06 08:31 519 查看
js中substring和substr的用法

 

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

substring(start,end)

开始和结束的位置,从零开始的索引

参数     描述

start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

返回值

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

说明

substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。

如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

如果 start 或 end 为负数,那么它将被替换为 0。

2.substr 方法

定义和用法

substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

语法

stringObject.substr(start [, length ])

参数    描述

start   必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

length 可选。在返回的子字符串中应包括的字符个数。

说明

如果 length 为 0 或负数,将返回一个空字符串。

如果没有指定该参数,则子字符串将延续到stringObject的最后。

举例:

var str = "0123456789";

alert(str.substring(0));------------"0123456789"

alert(str.substring(5));------------"56789"

alert(str.substring(10));-----------""

alert(str.substring(12));-----------""

alert(str.substring(-5));-----------"0123456789"

alert(str.substring(-10));----------"0123456789"

alert(str.substring(-12));----------"0123456789"

alert(str.substring(0,5));----------"01234"

alert(str.substring(0,10));---------"0123456789"

alert(str.substring(0,12));---------"0123456789"

alert(str.substring(2,0));----------"01"

alert(str.substring(2,2));----------""

alert(str.substring(2,5));----------"234"

alert(str.substring(2,12));---------"23456789"

alert(str.substring(2,-2));---------"01"

alert(str.substring(-1,5));---------"01234"

alert(str.substring(-1,-5));--------""

alert(str.substr(0));---------------"0123456789"

alert(str.substr(5));---------------"56789"

alert(str.substr(10));--------------""

alert(str.substr(12));--------------""

alert(str.substr(-5));--------------"0123456789"

alert(str.substr(-10));-------------"0123456789"

alert(str.substr(-12));-------------"0123456789"

alert(str.substr(0,5));-------------"01234"

alert(str.substr(0,10));------------"0123456789"

alert(str.substr(0,12));------------"0123456789"

alert(str.substr(2,0));-------------""

alert(str.substr(2,2));-------------"23"

alert(str.substr(2,5));-------------"23456"

alert(str.substr(2,12));------------"23456789"

alert(str.substr(2,-2));------------""

alert(str.substr(-1,5));------------"01234"

alert(str.substr(-1,-5));-----------""  

 

JS提供两个截取字符串的方法,分别是:slice()和substring()

slice和substring都可以接受一个或两个参数,第1个参数是获取要截取的字符串的直始位置,第2个参数如果不为空则是获取要截取的字符串的结束位置的前一位(也就是说获取的终点位置不在返回值内),为空表示截取到整个字符串的最后一个字符。

我们来看下两种方法的用法

注意:字符串的位数都是从0开始

Java代码 

<script language="javascript">  

var stmp = "rcinn.cn";//使用一个参数  

alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"  

alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"  

//使用两个参数  

alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"cinn"  

alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"cinn"  

//如果只用一个参数并且为0的话,那么返回整个参数  

alert(stmp.slice(0));//返回整个字符串  

alert(stmp.substring(0));//返回整个字符串  

//那如何只反回第一个字符呢,可以用其它的函数,那如果一定要用这两个方法的话就指定第一个参数为0,第二个参数为1,看下面的例子  

alert(stmp.slice(0,1));//返回"r"  

alert(stmp.substring(0,1));//返回"r" 

<script language="javascript">

var stmp = "rcinn.cn";//使用一个参数

alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"

alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"

//使用两个参数

alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"cinn"

alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"cinn"

//如果只用一个参数并且为0的话,那么返回整个参数

alert(stmp.slice(0));//返回整个字符串

alert(stmp.substring(0));//返回整个字符串

//那如何只反回第一个字符呢,可以用其它的函数,那如果一定要用这两个方法的话就指定第一个参数为0,第二个参数为1,看下面的例子

alert(stmp.slice(0,1));//返回"r"

alert(stmp.substring(0,1));//返回"r"//在上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也是一样的,但当参数为负数时,他们的返回值却不一样,看下面的例子

alert(stmp.slice(2,-5));//返回"i"

alert(stmp.substring(2,-5));//返回"rc"

//从上面两个例子可以看出slice(2,-5)实际上是slice(2,3),负5转换成正3;而substring(2,-5)实际上是substring(2,0),负数转换为0,swubstring总是把最小的数作为起始位置。

</script>

 

String.substr(N1,N2) 这个就是我们常用的从指定的位置(N1)截取指定长度(N2)的字符串;

String.substring(N1,N2) 这个就有点特别了,它是先从N1,N2里找出一个较小的值,然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的字符串,截取出来的字符串的长度为较大值与较小值之间的差。

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript n2 java