溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中截取字符串的方法

發(fā)布時間:2020-07-01 09:43:25 來源:億速云 閱讀:206 作者:Leah 欄目:web開發(fā)

這篇文章將為大家詳細講解有關JavaScript中截取字符串的方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

JavaScript字符串截取方法有:1、slice方法,字符串的截取都是從左向右;2、substring方法,第一個參數(shù)為負整數(shù)時,截取的為整個字符串;3、match方法 ,返回的是一個含有匹配項字符串的數(shù)組。

一、slice方法:

注意

1、字符串的截取都是從左向右,不會有從右向左截?。?/p>

2、slice與substring方法,截取返回的字符串包含numStart而不包含numEnd;

3、注意slice方法當numStart大于numEnd時截取為空而substring當numStart大于numEnd時回調(diào)換二者位置,截取numEnd到numStart之間的字符串

 var str = "HellohappyworldHello!";
       //1.slice(numStart,numEnd)

返回的值為截取指定下標之間的字符串,參數(shù)可以為負數(shù),可以不填,正整數(shù)表示從左向右讀取小兵截取,負整數(shù)表示從右向左讀取下標截取,當?shù)谝粋€開始下標參數(shù)為負整數(shù)時,

第二個參數(shù)不需要了,如果寫上不管是正整數(shù)還是負整數(shù)都截取為空的字符串,總結(jié)如下,不填參數(shù)時,截取取的是原字符串,第一個參數(shù)為正整數(shù)時,

第二個參數(shù),可不填(即為到字符串結(jié)尾),可填正整數(shù)(即從start-end),可以為負整數(shù)(即start-(str.length+end)),

第一個參數(shù)為負整數(shù)時(即從右向左讀取下標截取,右是從-1開始),第二個參數(shù)寫上會截取為空,最后注意第二個參數(shù)都不能大于第一個參數(shù),可以與坐標軸類比

 6         var sliceStr1 = str.slice(2);  //llohappyworldHello!
 7         var sliceStr2 = str.slice(2,7); //lloha
 8         var sliceStr3 = str.slice(-2); //o!  
 9         var sliceStr4 = str.slice(-2,5); //"" 
10         var sliceStr5 = str.slice(-2,-5); //"" 
11         var sliceStr6 = str.slice(2,-5); //llohappyworldH
12         console.log(sliceStr1);
13         console.log(sliceStr2);
14         console.log(sliceStr3);
15         console.log(sliceStr4);
16         console.log(sliceStr5);
17         console.log(sliceStr6);
18 
19         //2.substr(numStart,length)

二、substr方法:

返回的是從指定位置截取,length長度的字符串,numStart必填,為正整數(shù)時,表示從左向右讀取下標截取,當為負整數(shù)時,表示從右至左讀取下標截取,

第二個參數(shù)表示需要截取字符串的長度,當為負整數(shù)時,返回的為空,整數(shù)數(shù)時表示截取的長度,當超過字符串的剩余長度時,到字符串末尾為止

20         var substrStr1 = str.substr(2); //llohappyworldHello!
21         var substrStr2 = str.substr(-2); //o!
22         var substrStr3 = str.substr(2,18); //llohappyworldHello
23         var substrStr4 = str.substr(-2,1); //o
24         var substrStr5 = str.substr(-2,-1); //""
25         console.log(substrStr1);
26         console.log(substrStr2);
27         console.log(substrStr3);
28         console.log(substrStr4);
29         console.log(substrStr5);
30 
31         //3、substring(numStart,numEnd)

三、substring方法:

與slice類似,但是第一個參數(shù)為負整數(shù)時,截取的為整個字符串

32         var substringStr1 = str.substring(2); //llohappyworldHello!
33         var substringStr2 = str.substring(-2);//HellohappyworldHello!
34         var substringStr3 = str.substring(7,2); //lloha
35         var substringStr4 = str.substring(2,7); //lloha
36         console.log(substringStr1);
37         console.log(substringStr2);
38         console.log(substringStr3);
39         console.log(substringStr4);

四、match方法 :

注意

1、match方法返回的是一個含有匹配項字符串的數(shù)組;

2、需要根據(jù)不同的情況來寫正則;

3、返回的數(shù)組里面第一個總是原來的字符串;

4、當正則表示式有子表示時(即(\S*)括號內(nèi)的內(nèi)容),且為全局匹配時只查找全匹配正則表達式并返回所有內(nèi)容,為非全局時,返回的是多個元素數(shù)組;

當正則表達式無子表達式時,且為全局匹配時,返回的是多個元素的數(shù)組,如果為非全局匹配時,返回的是匹配到第一個元素的數(shù)組

42         var regStr1 = str.match(/Hello/g);  //["Hello","Hello"]
43         var regStr9 = str.match(/Hello/);  //["Hello"]
44         var regStr2 = str.match(/hello/g); //null
45         var regStr3 = str.match(/Hello(\S*)world/); 
//["Hellohappyworld", "happy"] //截取中間字符串
46         var regStr4 = str.match(/(\S*)world/g); //["Hellohappyworld"]
 //截取指定字符之前的字符串
47         var regStr5 = str.match(/(\S*)world/); //["Hellohappyworld", 
"Hellohappy"] //截取指定字符之前的字符串
48         var regStr6 = str.match(/Hello(\S*)/g); 
//["HellohappyworldHello!"] //截取指定字符之后的字符串
49         var regStr7 = str.match(/Hello(\S*)/); 
//["HellohappyworldHello!", happyworld!] //截取指定字符之后的字符串
50         var regStr8 = str.match(/llo(\S*)/); 
//["llohappyworldHello!", happyworldHello!] //截取指定字符的字符串
51         console.log(regStr1);
52         console.log(regStr9);
53         console.log(regStr2);
54         console.log(regStr3);
55         console.log(regStr4);
56         console.log(regStr5);
57         console.log(regStr6);
58         console.log(regStr7);
59         console.log(regStr8);
60     </script>

當然上面這些方法與使用方式都是一些簡單的需求,當項目中的需求比較復雜時還得結(jié)合實際情況來進行截取,不過不管怎樣使用的方法or實現(xiàn)思路都大概類似,

另外也鞭策一下自己好記性不如爛筆頭,碰到什么問題or新知識還是要養(yǎng)成記錄下來的習慣,希望與諸位園友共勉。

關于JavaScript中截取字符串的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI