JS:String.prototype.substring()方法

JS:String.prototype.substring()方法

String.prototype.substring()方法返回字符串開始和結束索引之間的部分,或者返回字符串開始索引至字符串的結尾。

JavaScript Demo: String.substring()

var str = 'Mozilla';

console.log(str.substring(1, 3));
// expected output: "oz"

console.log(str.substring(2));
// expected output: "zilla"

Syntax/語法

String.prototype.substring(indexStart[, indexEnd]);

  • Parameters/參數:

    • indexStart
      • The index of the first character to include in the returned substring.
      • 要返回的子字符串中的第一個字符的索引。
    • indexEnd
      • Optional. The index of the first character to exclude from the returned substring.
      • 可選的。要返回的子字符串中排除的第一個字符的索引。
  • Return Value
    • A new string containing the specified part of the given string.

Description

  • substring() extracts characters from indexStart up to but not including indexEnd. In particular:

    • If indexEnd is omitted, substring() extracts characters to the end of the string.
      (如果indexEnd是被省略的,substring()將提取字符直到字符串的結束。)
    • If indexStart is equal to indexEnd, substring() returns an empty string.
      (如果indexStart等于indexEnd,substring()將返回一個空的字符串。)
    • If indexStart is greater than indexEnd, then the effect of substring() is as if the two arguments were swapped; See example below.(如果indexStart大于indexEnd,效果相當于兩個參數調換;示例在下面。)
  • Note: Any argument value that is less than 0 or greater than stringName.length is treated as if it were 0 and stringName.length respectively. Any argument value that is NaN is treated as if it were 0.
    任何小于0或大于stringName.length的參數值將被視為0或stringName.length。任何NaN的參數值都將被視為0。

示例

Using substring()

The following example uses substring() to display characters from the string 'Mozilla':

下面的示例使用substring()從字符串'Mozilla'中提取字符:

var anyString = 'Mozilla';

// Displays 'M'
console.log(anyString.substring(0, 1));
console.log(anyString.substring(1, 0));

// Displays 'Mozill'
console.log(anyString.substring(0, 6));

// Displays 'lla'
console.log(anyString.substring(4));
console.log(anyString.substring(4, 7));
console.log(anyString.substring(7, 4));

// Displays 'Mozilla'
console.log(anyString.substring(0, 7));
console.log(anyString.substring(0, 10));

Using substring() with length property

The following example uses the substring() method and length property to extract the last characters of a particular string. This method may be easier to remember, given that you don't need to know the starting and ending indices as you would in the above examples.

// Displays 'illa' the last 4 characters
var anyString = 'Mozilla';
var anyString4 = anyString.substring(anyString.length - 4);
console.log(anyString4);

// Displays 'zilla' the last 5 characters
var anyString = 'Mozilla';
var anyString5 = anyString.substring(anyString.length - 5);
console.log(anyString5);

Difference between substring() and substr()

There's a subtle difference between the substring() and [substr()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) methods, and you should be careful not get them confused.

The arguments of substring() represent the starting and ending indexes, while the arguments of substr() represent the starting index and the length of characters to include in the returned string.

var text = 'Mozilla';
console.log(text.substring(2,5)); // => "zil"
console.log(text.substr(2,3)); // => "zil"

Replacing a substring within a string

The following example replaces a substring within a string. It will replace both individual characters and substrings. The function call at the end of the example changes the string 'Brave New World' to 'Brave New Web'.

// Replaces oldS with newS in the string fullS
function replaceString(oldS, newS, fullS) {
  for (var i = 0; i < fullS.length; ++i) {
    if (fullS.substring(i, i + oldS.length) == oldS) {
      fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length);
    }
  }
  return fullS;
}

replaceString('World', 'Web', 'Brave New World');

Note that this can result in an infinite loop if oldS is itself a substring of newS — for example, if you attempted to replace 'World' with 'OtherWorld' here. A better method for replacing strings is as follows:

function replaceString(oldS, newS, fullS) {
  return fullS.split(oldS).join(newS);
}

The code above serves as an example for substring operations. If you need to replace substrings, most of the time you will want to use String.prototype.replace().

Link to MDN section

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,854評論 0 10
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,920評論 0 13
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,256評論 0 38
  • “之前我還在聽你講故事,現在我卻成了故事中 的人,時間好快”這是鄰居家小弟昨晚跟我說的一句話,他今年在部隊待的第八...
    至此一生_閱讀 579評論 0 1
  • 我算是一個內向的人,內向的人做得最多的事情就是跟自己交談,而跟自己交談最好的辦法就是寫作,這是一種非常清晰的,能夠...
    xiaohuialex閱讀 721評論 0 3

友情鏈接更多精彩內容