字符串和數組截取.....某人可以看看這個,希望能幫到你,


1.substr()
substr() 方法可在字符串中抽取從 start 下標開始的指定數目的字符。
語法:stringObject.substr(start,length)
start:必需。要抽取的子串的起始下標。必須是數值。如果是負數,那么該參數聲明從字符串的尾部開始算起的位置。也就是說,0是指字符串中第一個字符,-1 指字符串中最后一個字符,-2 指倒數第二個字符,以此類推。
length:可選。子串中的字符數。必須是數值。如果省略了該參數,那么返回從 stringObject 的開始位置到結尾的字串。
返回值:返回一個新的字符串。
例子:
var str="Hello world!"
document.write(str.substr(3,7))
輸出:lo worl

提示:空格也占字符位!

 

2.substring()
substring() 方法用於提取字符串中介於兩個指定下標之間的字符。
語法:stringObject.substring(start,stop)
start:必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。
stop:可選。一個非負的整數,比要提取的子串的最后一個字符在 stringObject 中的位置多 1。(也可以理解成最后最后stop終止位置,但不截取) 如果省略該參數,那么返回的子串會一直到字符串的結尾。
返回值:返回一個新的字符串,該字符串值包含stringObject 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度為 stop 減 start。
例子:
var str="Hello world!"
document.write(str.substring(3,7));
輸出:lo w

提示:substring()不接受負值參數。

 

3.slice()
slice() 方法可從已有的數組中返回選定的元素。
語法:arrayObject.slice(start,end)
start:必需。規定從何處開始選取。如果是負數,那么它規定從數組尾部開始算起的位置。也就是說,-1 指最后一個元素,-2 指倒數第二個元素,以此類推。
end:可選。規定從何處結束選取。該參數是數組片斷結束處的數組下標。如果沒有指定該參數,那么切分的數組包含從 start 到數組結束的所有元素。如果這個參數是負數,那么它規定的是從數組尾部開始算起的元素。
返回值:返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
例子:
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.slice(2,4) + "<br />")
document.write(arr)
輸出:
George,John,Thomas,James,Adrew,Martin
Thomas,James
George,John,Thomas,James,Adrew,Martin

提示:該方法並不會修改數組,而是返回一個子數組。如果想刪除數組中的一段元素,應該使用方法Array.splice()。

 

4.splice()
splice() 方法用於插入、刪除或替換數組的元素。
語法:arrayObject.splice(index,howmany,element1,.....,elementX)
index :必需。規定從何處添加/刪除元素。該參數是開始插入和(或)刪除的數組元素的下標,必須是數字。
howmany:必需。規定應該刪除多少元素。必須是數字,但可以是 "0"。如果未規定此參數,則刪除從 index 開始到原數組結尾的所有元素。
element1:可選。規定要添加到數組的新元素。從 index 所指的下標處開始插入。
elementX:可選。可向數組添加若干元素。
返回值:如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。
例子:
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)
輸出:
George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

提示:splice() 方法可刪除從 index 處開始的零個或多個元素,並且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。

 

 

5.replace()
replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
語法:stringObject.replace(regexp/substr,replacement)
regexp/substr:必需。規定子字符串或要替換的模式的 RegExp 對象。請注意,如果該值是一個字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象。
replacement:必需。一個字符串值。規定了替換文本或生成替換文本的函數。
返回值:一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。
例子:
var str="Visit Microsoft!"
document.write(str.replace(/Microsoft/, "W3School"));
輸出:Visit W3School!
提示:字符串 stringObject 的 replace() 方法執行的是查找並替換的操作。它將在 stringObject 中查找與 regexp 相匹配的子字符串,然后用 replacement 來替換這些子串。如果 regexp 具有全局標志 g,那么 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。

replacement 可以是字符串,也可以是函數。如果它是字符串,那么每個匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用於替換。
字符     替換文本
$1、$2、...、$99     與 regexp 中的第 1 到第 99 個子表達式相匹配的文本。
$&     與 regexp 相匹配的子串。
$`     位於匹配子串左側的文本。
$'     位於匹配子串右側的文本。
$$     直接量符號。

注意:ECMAScript v3 規定,replace() 方法的參數 replacement 可以是函數而不是字符串。在這種情況下,每個匹配都調用該函數,它返回的字符串將作為替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明了匹配在 stringObject 中出現的位置。最后一個參數是 stringObject 本身。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM