在 js 中截取字符串時,一般常用的是三種方法,此三種方法分別為:slice() , substring() 以及 substr()。這三個方法都可以接受一個參數或二個參數的控制。關于這三個參數的使用,下面來簡單的介紹一下。

js slice() 方法截取字符串

js 中的 slice() 方法其實常用于對數組元素的截取,但是它還可以用于字段串的截取。我們這里主要以截取字符串的形式對它進行講解!

語法:

obj.slice(start,end);

參數:

国产视频appstart:必需。表示從何處開始截取位置的下標(下標從0開始)。如是負數則從字符串的尾部開始。例如:-1 指最后一個字符,-2 指倒數第二個字符,以此類推。

end:可選,規定從何處結束選取。如不指定該參數,則截取 start 到結束的所有字符。如果這個參數是負數,那么它規定的是從字符串尾部開始算起的字符。

例:

<script>
    var str = 'abcdefghigk';
    //截取完整的字符串,也就是從下標為0的元素開始
    console.log(str.slice(0)); //cdefghigk
    //從下標為2的字符開截取,到最后一個
    console.log(str.slice(2)); //cdefghigk
    //從下標為2的字符開截取,到第五個字符結束
    console.log(str.slice(2,5)); //cde
    //從倒數第二個字符開始,截取到最后
    console.log(str.slice(-2)); //gk
    //從倒數第五個字符開始,截取到倒數第六個 
    console.log(str.slice(-5,-6)); // 沒有符號條件,返回為空
    //從倒數第五個字符開始,截取到倒數第二個
    console.log(str.slice(-5,-2));// ghi
</script>

js substring() 方法截取字符串

国产视频app相比較于利用 js 的 slice() 方法來截取字符串過程,js substring() 方法來截取字符串要顯得簡單的很多。但 substring() 方法使用起來不能夠隨心所欲!

語法:

strobj.substring(start,stop);

參數:

国产视频appstart:必需。一個正整數,規定要截取起始位置下標(下標從0開始),0 表示第一個字符,1表示第二個字符,依次類推!

stop:可選,一個正整數,規定截取結束的位置,如為空則直到最后一位!

返回值

一個新的字符串,該字符是從 start 處到 stop-1 處的所有字符,其長度為 stop 減 start。

示例:

<script>
    var str = 'abcdefghigk';
    // 從下標為0的字符開始截取 
    console.log(str.substring(0)); //abcdefghigk
    // 從下標為2的字符開始截取
    console.log(str.substring(2)); //cdefghigk
    // 從下標為2的字符開始截取,到下標為6的字符結束不包含下標為6的字符
    console.log(str.substring(2,6)); //cdef
    // 從下標為6的字符開始截取,到下標為 2 的字符結束。由于 第一個參數大于第二個參數,函數會自動轉成上面函數的參數形式
    console.log(str.substring(6,2)); //cdef
    //從下標為6的字符開始到下標為6的字符結束,由于截取時第二個參數指定的字符不會截取到,所以為之空
    console.log(str.substring(6,6)); // 返回空
</script>

注意:

国产视频appsubstring() 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。

js substr() 方法截取字符串的教程

substr():截取從 start 下標(下標從0開始)位置開始指定長度的字符串

語法:

strobj.substr(start,length)

參數:

国产视频appstart:必需。必須為整數,表示字符串的截取下標(下標從0開始)。如果是負數那么從字符串尾部開始。-1 表示符串中最后一個字符,-2 表示倒數第二個字符,以此類推。

国产视频applength:表示截取的長度,如省略則表示截取到字符串的最未端!

例:

<script>
    var str = 'abcdefghigk';
    //從下標為0的字符串開始
    console.log(str.substr(0)); //abcdefghigk
    //從下標為2的字符串開始
    console.log(str.substr(2)); //cdefghigk
    //從下標為2的字符開始,截取6個
    console.log(str.substr(2,6)); //cdefgh
    //從倒數第二個字符開始
    console.log(str.substr(-2, 6)); //gk
    //從倒數第四個字符開始
    console.log(str.substr(-4)); //higk
</script>