js字符串分割處理的幾種方法(6種)
前端開(kāi)發(fā)中,字符串處理是比較常見(jiàn)的,筆者在最近復(fù)習(xí)的過(guò)程中也把它整理了出來(lái)。
首先,先來(lái)看看js截取三姐妹substring()、subsstr()、slice()
1、slice(start, end)
大姐slice()、從start開(kāi)始,到end結(jié)束,開(kāi)始的位置從0不是1,不包括end,支持?jǐn)?shù)組分割,支持負(fù)數(shù),返回?cái)?shù)組
let test = 'hello world!'
console.log(test.length)
console.log(test.slice(1, 9))
console.log(test.slice(6))
console.log(test.slice(9, 1))
console.log(test.slice(-2))
console.log(test.slice(0, -2))
console.log(test.slice(-4, -2))
console.log(test.slice(-2, 4))

總結(jié)
①第一個(gè)參數(shù)比第二個(gè)參數(shù)大,結(jié)果返回空字符串
②傳入?yún)?shù)是負(fù)數(shù),slice()會(huì)先做運(yùn)算 test.length + 負(fù)數(shù)參數(shù)。
2、substr(start, length)
二姐substr()、從start開(kāi)始,返回length長(zhǎng)度字符,開(kāi)始的位置從0不是1,支持負(fù)數(shù),不支持?jǐn)?shù)組
let test = 'hello world!'
console.log(test.length)
console.log(test.substr(1, 9))
console.log(test.substr(6))
console.log(test.substr(9, 9))
console.log(test.substr(20))
console.log(test.substr(-2))
console.log(test.substr(-8, 4))
console.log(test.substr(-8, 0))
console.log(test.substr(-8, -4))
console.log(test.substr(-20))

總結(jié)
①傳入?yún)?shù)超過(guò)length返回空字符串
②傳入負(fù)數(shù),則從字符串的尾部開(kāi)始算起始位置,-1指最后一個(gè)字符,-2指倒數(shù)第二個(gè)字符;當(dāng)傳入的第一個(gè)參數(shù)是負(fù)數(shù)且它的絕對(duì)值超過(guò)length,這個(gè)負(fù)數(shù)轉(zhuǎn)化為0,當(dāng)傳入的第二個(gè)參數(shù)是負(fù)數(shù),等價(jià)于0,截取0個(gè)字符,返回空字符串。
3、substring(start, stop)
三姐substring()、不接受負(fù)數(shù),從 start 開(kāi)始,不包括stop,開(kāi)始的位置從0不是1,不支持?jǐn)?shù)組
let test = 'hello world!'
console.log(test.length)
console.log(test.substring(1, 9))
console.log(test.substring(6))
console.log(test.substring(9, 9))
console.log(test.substring(20))
console.log(test.substring(-2))
console.log(test.substring(-8, 4))
console.log(test.substring(-8, 0))
console.log(test.substring(-8, -4))
console.log(test.substring(-20))

總結(jié)
①第二個(gè)參數(shù)==第一個(gè)參數(shù),返回空字符串
②傳入兩個(gè)參數(shù),不管在第一還是第二位置,都會(huì)將小的參數(shù)作為第一個(gè)參數(shù),較大的作為第二個(gè)參數(shù)
③任何一個(gè)參數(shù)為負(fù)數(shù)或者NaN的時(shí)候,自動(dòng)將其轉(zhuǎn)換為0
④任何一個(gè)參數(shù)大于length,按照l(shuí)ength處理
js字符串截取三姐妹,都不會(huì)對(duì)原始的字符串進(jìn)行修改,而是返回新的子集。但是三姐妹各自有各自的個(gè)性,面對(duì)同一種參數(shù)處理的方式都是不一樣的。
4、split(separator, length)
字符按照字符串或正則分割,輸出一個(gè)數(shù)組,length表示返回的長(zhǎng)度,不支持?jǐn)?shù)組;
//以空格為分隔符輸出數(shù)組
var str = '123 abc 1 2 3 a b c '
var arr = str.split(' ')
console.log(arr)

var str = '123 abc 1 2 3 a b c'
var arr = str.split(' ', 4)
//第二個(gè)參數(shù)表示返回?cái)?shù)組的最大長(zhǎng)度!注意不是原來(lái)字符串的,是新輸出的數(shù)組的
console.log(arr)

5、join(separator)
將數(shù)組合并成字符串,用 separator隔離,不支持字符串
var a = ['I', 'am', 'a', 'girl', '英文名', '是', 'gaby']
var arr = a.join(',')
console.log(arr)

6、splice(start, length, …args)
數(shù)組操作函數(shù),增刪改查,不支持字符串,返回?cái)?shù)組,從 start開(kāi)始,刪除的length長(zhǎng)度,并按args參數(shù)個(gè)數(shù)添加到 start位置
//刪,第一個(gè)參數(shù)為第一項(xiàng)位置,第二個(gè)參數(shù)為要?jiǎng)h除幾個(gè) 0數(shù)起
//array.splice(index,num),返回值為刪除內(nèi)容,array為結(jié)果值
var arr = ['a', 'b', 'c', 'd', 'e', 'f']
console.log(arr.splice(0, 4))
console.log(arr)

//增,第一個(gè)參數(shù)(插入位置),第二個(gè)參數(shù)(0),第三個(gè)參數(shù)(插入的項(xiàng))
//array.splice(index,0,insertValue),返回值為空數(shù)組,array值為最終結(jié)果值
var arr = ['a', 'b', 'c', 'd', 'e', 'f']
console.log(arr.splice(2, 0, 'insert'))
console.log(arr)

//改 第一個(gè)參數(shù)(起始位置),第二個(gè)參數(shù)(刪除的項(xiàng)數(shù)),第三個(gè)參數(shù)(插入任意數(shù)量的項(xiàng))
//array.splice(index,num,insertValue),返回值為刪除內(nèi)容,array為結(jié)果值
var arr = ['a', 'b', 'c', 'd', 'e', 'f']
console.log(arr.splice(2, 1, 'delete'))
console.log(arr)

到此這篇關(guān)于js字符串分割處理的幾種方法(6種)的文章就介紹到這了,更多相關(guān)js字符串分割處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
完美解決IE低版本不支持call與apply的問(wèn)題
這篇文章主要是對(duì)解決IE低版本不支持call與apply的問(wèn)題進(jìn)行了詳細(xì)的介紹。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
JavaScript中for..in循環(huán)陷阱介紹
for...in循環(huán)中的循環(huán)計(jì)數(shù)器是字符串,而不是數(shù)字它包含當(dāng)前屬性的名稱或當(dāng)前數(shù)組元素的索引,下面有個(gè)不錯(cuò)的示例大家可以參考下2013-11-11
CSS+Js遮罩效果的TAB及焦點(diǎn)圖片切換(推薦)
CSS+Js圖片切換技術(shù),類似的已有不少了,這一個(gè)使用了遮罩過(guò)渡的效果,同樣應(yīng)用到了TAB選項(xiàng)卡上,本頁(yè)面僅是為了演示,大家用時(shí)候把它拆分開(kāi)來(lái),這個(gè)效果也對(duì)學(xué)習(xí)圖片效果制作很有幫助。2009-11-11
opencv 識(shí)別微信登錄驗(yàn)證滑動(dòng)塊位置
這篇文章主要介紹了opencv 識(shí)別微信登錄驗(yàn)證滑動(dòng)塊位置及各自的優(yōu)缺點(diǎn),需要的朋友可以參考下2018-08-08
微信小程序?qū)崿F(xiàn)pdf、word等格式文件上傳的方法
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)pdf,word等格式文件上傳的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
微信小程序調(diào)用PHP后臺(tái)接口 解析純html文本
這篇文章主要為大家詳細(xì)介紹了微信小程序調(diào)用PHP后臺(tái)接口,解析純html文本的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

