天天看點

js字元串提取substring() substr() - Kaiqisanjs字元串提取substring() substr()總結

js字元串提取substring() substr()

観客のみんなさんこんにちは、Kaiqisanです, 之前講解了數組的截取,雖然在本質上字元串是一個成員為一個個字元的數組,但是兩者并不相通,字元串也是無法使用數組的一些方法的。是以今天來特地講講字元串專屬的截取方法。

substring(start, end)

: 該方法用于提取字元串中介于兩個指定下标之間的字元(不包含end下标的那個字元)。第二個參數end為可選項,如果第二個參數沒有填寫的話,字元串截取操作就會從第一個參數下标開始一直截取到最後一個參數。與 slice()和 substr()方法不同的是,substring() 不接受負的參數。

這個方法有一個傳回值,需要參數接受,為字元串。

let str = "Hello world and you"
console.log(str.substring(3)) // "lo world and you"
           
let str = "Hello world and you"
console.log(str.substring(3, 7)) // "lo w" // 截取下标為3,4,5,6這四位字元
           

substr()

: 該方法可在字元串中抽取從 start 下标開始的指定數目的字元。如果第二個參數過大,則會截取到最後一個字元為止,不報錯。第一個參數接受負數作為參數,表示從倒數第n個下标開始截取。

這個方法有一個傳回值,需要參數接受,為字元串。

let str = "Hello world and you"
console.log(str.substr(3, 7)) // "lo worl" // 剛好7位
           
let str = "Hello world and you"
console.log(str.substr(3, 20)) 
// "lo world and you" 第二個“希望截取的位數”如果過大,會一直截到最後一位就直接結束
           
let str = "Hello world and you"
console.log(str.substr(-3, 2)) // yo 從倒數第三位開始截取也表示從下标為(str.length - 3)處開始截取
           

總結

這倆方法對應了數組截取操作的splice和slice,原理來說都是一樣的,作用也是一樣的,但是這兩兩方法無法“串味”,數組無法使用substring() 方法和substr()方法,字元串無法使用splice()方法.

繼續閱讀