substring()和substr()的比較

substring()和substr()只有在參數爲一個正數時,取得的效果才相同。

 

.substring(start[,stop])

用於提取字符串中介於兩個指定下標之間的字符。返回一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度爲 stop 減 start。

var str = 'abcdefg';
var str2 = str.substring(2,4);//下標從0開始,返回的字符串長度爲:4-2,返回結果:cd
var str3 = str.substring(4,2);//返回結果:cd,與str2相同,返回前交換了start和end的值
var str4 = str.substring(2);//返回結果:cdefg
var str5 = str.substring(-2);//返回:abcdefg

1. 不能接受負的參數,直接返回了整個字符串。
2. 返回的子串包括 start 處的字符,但不包括 stop 處的字符。
3. 如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個參數,如str3。
4. 如果沒有stop參數,返回結果從下標start到字符串結束。

 

.substr(start[,len])

在字符串中抽取從 star下標開始的指定len長度的字符。返回一個新的字符串,包含從 stringObject 的 start(包括 start 所指的字符) 處開始的 len 個字符。如果沒有指定 len,那麼返回的字符串包含從 start 到 stringObject 的結尾的字符。

var str = 'abcdefg';
var str2 = str.substr(2,4);//下標從0開始,返回的字符串長度爲:4,返回結果:cdef
var str3 = str.substr(4,2);//返回的字符串長度爲:2,返回結果:ef
var str4 = str.substr(2);//返回結果:cdefg
var str5 = str.substr(-2);//返回結果:fg
var str6 = str.substr(-2,10);//要返回的長度是10,但返回結果:fg
var str7 = str.substr(-2,-10);//要返回的長度是-10,返回空字符串

1. 要抽取的子串的起始下標。必須是數值。如果是負數,那麼該參數聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最後一個字符,-2 指倒數第二個字符,以此類推。
2. 重要事項:ECMAscript 沒有對該方法進行標準化,**因此反對使用它**。在某些瀏覽器中start下標使用負值,直接返回了全部字符串。

 

 

轉載:https://blog.csdn.net/just4you/article/details/53020804  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章