Visit Mozilla.org

Core JavaScript 1.5 Reference:Global Objects:String:substring

From MDC


Contents

[edit] Summary

Returns a subset of a String object.

Method of String
Implemented in: JavaScript 1.0, NES2.0
ECMA Version: ECMA-262

[edit] Syntax

substring(indexA, [indexB])

[edit] Parameters

indexA 
An integer between 0 and one less than the length of the string.
indexB 
(optional) An integer between 0 and the length of the string.

[edit] Description

substring extracts characters from indexA up to but not including indexB. In particular:

  • If indexA equals indexB, substring returns an empty string.
  • If indexB is omitted, substring extracts characters to the end of the string.
  • If either argument is less than 0 or is NaN, it is treated as if it were 0.
  • If either argument is greater than stringName.length, it is treated as if it were stringName.length.

If indexA is larger than indexB, then the effect of substring is as if the two arguments were swapped; for example, str.substring(1, 0) == str.substring(0, 1).

[edit] Examples

[edit] Example: Using substring

The following example uses substring to display characters from the string "Mozilla":

// assumes a print function is defined
var anyString = "Mozilla";

// Displays "Moz"
print(anyString.substring(0,3));
print(anyString.substring(3,0));

// Displays "lla"
print(anyString.substring(4,7));
print(anyString.substring(7,4));

// Displays "Mozill"
print(anyString.substring(0,6));

// Displays "Mozilla"
print(anyString.substring(0,7));
print(anyString.substring(0,10));

[edit] Example: 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" into "Brave New Web".

function replaceString(oldS, newS, fullS) {
// Replaces oldS with newS in the string 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");

[edit] See also

substr