# String object

#### Availability

Flash Player 5 (became a native object in Flash Player 6, which improved performance significantly).

#### Description

The String object is a wrapper for the string primitive data type, which allows you to use the methods and properties of the String object to manipulate primitive string value types. You can convert the value of any object into a string using the `String()` function.

All of the methods of the String object, except for `concat`, `fromCharCode`, `slice`, and `substr`, are generic. This means the methods themselves call `this.toString` before performing their operations, and you can use these methods with other non-String objects.

Since all string indexes are zero-based, the index of the last character for any string `x` is as follows:

    x.length - 1

You can call any of the methods of the String object using the constructor method `new String` or using a string literal value. If you specify a string literal, the ActionScript interpreter automatically converts it to a temporary String object, calls the method, and then discards the temporary String object. You can also use the `String.length` property with a string literal.

It is important that you do not confuse a string literal with an instance of the String object. In the following example, the first line of code creates the string literal `s1`, and the second line of code creates an instance of the String object `s2`.

    s1 = "foo"
    s2 = new String("foo")

Use string literals unless you specifically need to use a String object.

## Method summary for String object

Method | Description
--- | ---
`String.charAt()` | Returns the character at a specific location in a string.
`String.charCodeAt()` | Returns the value of the character at the specified index as a 16-bit integer between 0 and 65535.
`String.concat()` | Combines the text of two strings and returns a new string.
`String.fromCharCode()` | Returns a string made up of the characters specified in the parameters.
`String.indexOf()` | Searches the string and returns the index of the substring specified in the parameters. If the value occurs more than once, the index of the first occurrence is returned. If the value is not found, -1 is returned.
`String.lastIndexOf()` | Returns the index of the last substring within the string that appears before the starting position specified in the parameter, or -1 if not found.
`String.slice()` | Extracts a section of a string and returns a new string.
`String.split()` | Splits a String object into an array of strings by separating the string into substrings.
`String.substr()` | Returns a specified number of characters in a string, beginning at a specified location.
`String.substring()` | Returns the characters between two indexes in a string.
`String.toLowerCase()` | Converts the string to lowercase and returns the result; does not change the contents of the original object.
`String.toUpperCase()` | Converts the string to uppercase and returns the result; does not change the contents of the original object.

## Property summary for the String object

Property | Description
--- | ---
`String.length` | A non-zero-based integer specifying the number of characters in the specified String object.

## Constructor for the String object

#### Availability

Flash Player 5.

#### Usage

    new String(value)

#### Parameters

`value` The initial value of the new String object.

#### Returns

Nothing.

#### Description

Constructor; creates a new String object.

#### See also

`String (function)`, `" " (string delimiter)`