在擷取字串時常常會用到substr()
、substring()
、slice()
這幾個方法,經常會混淆它們之間的用法,所以今天特地總結一下。
slice()方法
定義:接受乙個或者兩個引數,第乙個引數指定子字串的開始位置。第二個引數表示子字串的結束位置(左閉右包)。
slice( start , stop )
(1)返回字串的乙個子串。
(2)star為必需:規定從何處開始選取。如果是負數,那麼它規定從陣列尾部開始算起的位置。
(3)傳遞引數為負值的情況下,slice()方法會將傳入的負值與字串長度相加。
(4)當stop比start值小的情況下則返回空字串。
(5)當傳遞了兩個引數時,第乙個不能為負數,不然返回空字串。
eg. var str = "hello word";
alert( str.slice(-2) ); // "rd"
alert( str.slice(2) ); // "llo word"
alert( str.slice(2,5) ); // "llo"
alert( str.slice(1,-4) ); // "ello "
alert( str.slice(5,3) ); // ""
alert( str.slice(-1,3) ); // ""
substring()方法
定義:接受乙個或者兩個引數,第乙個引數指定子字串的開始位置。第二個引數表示子字串的結束位置(左閉右包)。
例:str.substring( start , stop )
(1)返回字串的乙個子串。
(2)star為必需:規定從何處開始選取。如果乙個引數,則將字串長度作為結束位置。
(3)傳遞引數為負值或nan的情況下substring()方法會把所有負值引數轉換為0。
(4)如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個引數。
eg. var str = 「hello word」;
alert( str.substring(-2) ); // 「hello word」
alert( str.substring(2) ); // 「llo word」
alert( str.substring(2,5) ); // 「llo」
alert( str.substring(1,-4) ); // 「h」
alert( str.substring(5,3) ); // 「lo」
alert( str.substring(-1,3) ); // 「hel」
substr()方法
定義:接受乙個或者兩個引數,第乙個引數指定子字串的開始位置。第二個引數表示返回的字元個數。
例:str.substr(start, length)
(1)返回字串的乙個子串。
(2)star為必需:規定從何處開始選取。如果乙個引數,則將字串長度作為結束位置。
(3)傳遞引數為負值的情況下substr()方法會將負的第乙個引數加上字串的長度,而將負的第二個引數轉換為0。
(4)length如果為0或者負數,則直接返回乙個空字串。
eg. var str = "hello word";
alert( str.substr(-2) ); // "rd"
alert( str.substr(2) ); // "llo word"
alert( str.substr(2,5) ); // "llo w"
alert( str.substr(1,-4) ); // ""
alert( str.substr(5,3) ); // " wo"
alert( str.substr(-1,3) ); // "d"
JS擷取字串方法
substr 方法 返回乙個從指定位置開始的指定長度的子字串。stringvar.substr start length 引數stringvar 必選項。要提取子字串的字串文字或 string 物件。start 必選項。所需的子字串的起始位置。字串中的第乙個字元的索引為 0。length 可選項。在...
js擷取字串
js提供兩個擷取字串的方法,分別是 slice 和substring slice和substring都可以接受乙個或兩個引數,第1個引數是獲取要擷取的字串的直始位置,第2個引數如果不為空則是獲取要擷取的字串的結束位置的前一位 也就是說獲取的終點位置不在返回值內 為空表示擷取到整個字串的最後乙個字元。...
JS擷取字串
0。length 可選項。在返回的子字串中應包括的字元個數。說明如果 length 為 0或負數,將返回乙個空字串。如果沒有指定該引數,則子字串將延續到 stringvar 的最後。示例下面的示例演示了substr 方法的用法。function substrdemo substring 方法 返回位...