溫馨提示×

substr與substring函數的區別是什么

小億
412
2024-01-08 11:09:45
欄目: 編程語言

substr和substring函數都是用來截取字符串的方法,但是兩者有以下幾個區別:

  1. 參數不同:substr函數接受兩個參數,第一個參數是起始位置,第二個參數是要截取的字符數。而substring函數接受兩個參數,第一個參數是起始位置,第二個參數是終止位置(不包括終止位置的字符)。

  2. 負數處理不同:當substr函數的第一個參數為負數時,表示從字符串末尾開始計算起始位置。而當substring函數的參數為負數時,會被自動轉換為0。

  3. 終止位置超出字符串長度:當substr函數的第二個參數大于字符串長度時,會截取到字符串末尾。而當substring函數的第二個參數大于字符串長度時,會被自動轉換為字符串長度。

  4. 返回值不同:substr函數返回從起始位置開始的指定長度的子字符串。substring函數返回從起始位置到終止位置的子字符串。

示例:

var str = "Hello World!";

console.log(str.substr(0, 5)); // 輸出 "Hello"
console.log(str.substring(0, 5)); // 輸出 "Hello"

console.log(str.substr(6, 5)); // 輸出 "World"
console.log(str.substring(6, 11)); // 輸出 "World"

console.log(str.substr(-6)); // 輸出 "World!"
console.log(str.substring(-6)); // 輸出 "Hello World!"

console.log(str.substr(0, 20)); // 輸出 "Hello World!"
console.log(str.substring(0, 20)); // 輸出 "Hello World!"

總的來說,substr函數更靈活,可以通過指定起始位置和字符數來截取字符串。而substring函數更直觀,可以通過指定起始位置和終止位置來截取字符串。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女