當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Javascript String.slice和String.substring的區別用法及代碼示例


這兩個函數在函數上非常相似用法但在某些情況下又有所不同。讓我們看看它們之間的區別。

string.slice()

這種方法選擇字符串的一部分並將所選部分作為新字符串返回。開始和結束參數用於指定提取的部分。第一個字符以索引 0 開頭。

用法:

str.slice(start, end)

String substring()

該函數的語法與slice()此方法選擇字符串的一部分並將所選部分作為新字符串返回。開始和結束參數用於指定提取的部分。第一個字符以索引 0 開頭。

用法:

str.substring(start, end)

共同結果在給定情況下兩者給出相同的結果。

  • 如果 start == stop,則都返回空字符串
  • 如果省略停止符,則兩者都會提取字符直到字符串末尾
  • 如果任何參數大於字符串的長度,則在這種情況下將使用字符串的長度。

JavaScript substring()substring()的不同結果

  1. 如果 start > stop,則該函數交換兩個參數。
  2. 如果任何參數為負數或 NaN,則將其視為 0。

JavaScript slice()slice()的不同結果

  1. 如果開始>停止,該函數將返回一個空字符串。 (“”)
  2. 如果開頭為負數,則從字符串末尾開始設置字符,如substr()。
  3. 如果 stop 為負數,則設置 stop = string.length - Math.abs(stop) (原始值)

示例 1:這些示例在兩種情況下給出相同的結果。

Javascript


// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// Function to display output difference
function Geeks() {
    console.log("str.slice() = " + str.slice(0, 13));
    console.log(
        "str.substring() = " + str.substring(0, 13)
    );
}
// Function call
Geeks();
輸出
Str = 'This is GeeksForGeeks'
str.slice() = This is Geeks
str.substring() = This is Geeks

示例 2:在此示例中,如果substring()它交換參數時開始>停止在哪裏slice()返回空字符串。

Javascript


// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// Function to display output difference
function Geeks() {
    console.log("str.slice() = " + str.slice(13, 0));
    console.log(
        "str.substring() = " + str.substring(13, 0)
    );
}
// Function call
Geeks();
輸出
Str = 'This is GeeksForGeeks'
str.slice() = 
str.substring() = This is Geeks

示例 3:在此示例中,如果substring()負參數被視為 0,其中slice()返回空字符串。

Javascript


// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// function to display output diff
function Geeks() {
    console.log("str.slice() = " + str.slice(-13, 7));
    console.log(
        "str.substring() = " + str.substring(-13, 7)
    );
}
// Function call
Geeks();
輸出
Str = 'This is GeeksForGeeks'
str.slice() = 
str.substring() = This is

slice()和substring()方法的區別:

JavaScript 字符串.slice() 方法

JavaScript 字符串.substring() 方法

它用於提取字符串的一部分 它用於提取字符串中的子字符串
它的返回值是一個字符串,因為它返回字符串的某些部分。 它不會扭曲原始字符串
它將參數作為整數,即;我們要從中提取字符串的字符串的索引 它的參數是我們要提取的子字符串的開始和結束位置
它是 Javascript 中內置的字符串方法 它也是 Javascript 中內置的字符串方法。
它不會扭曲原始字符串 它的返回值是string類型


相關用法


注:本文由純淨天空篩選整理自PranchalKatiyar大神的英文原創作品 Difference between String.slice and String.substring in JavaScript。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。