String.split( ) Method

ActionScript for Flash MX: The Definitive Guide, 2nd Edition
By Colin Moock
Chapter 18.  ActionScript Language Reference
String.split( ) Method Flash 5

convert a string into a series of array elements
string.split(delimiter)

Arguments

delimiter

The character or series of characters at which to break string when forming elements of the new array.

Returns

An array whose elements contain the substrings formed by breaking string into segments demarcated by delimiter.

Description

The split( ) method breaks a string into substrings, assigns those substrings to the elements of an array, and returns that array. Contiguous occurrences of delimiter without intervening characters result in empty elements. For example, the following code:

owners = "terry,doug,,,jon"; ownersArray = owners.split(",");

assigns the following elements to ownersArray (elements 2 and 3 contain undefined):

0: terry 1: doug 2: 3: 4: jon

The split( ) method typically is used to convert a string received from a CGI script or text file into an array for further manipulation. It is also useful when parsing the parameters of an asfunction call from an HTML text field <A> tag, which can pass only one string argument to a function. See Section E.7 in Appendix E. Commonly used delimiters include the comma and the tab character. Use a space as the delimiter to split a string into a series of words.

Example

Suppose we store a list of names in a text file named names.txt. Each name is separated from the others by a Tab character, as implied by the whitespace shown:

owners=terry    doug    jon

On frame 1 of our movie, we load the names.txt file into our movie:

this.loadVariables("names.txt");

After ensuring that names.txt has fully loaded (see loadVariables( )), we split the loaded owners variable into an array:

splitString = String.fromCharCode(9);  // Assign the Tab character to splitString ownersArray = owners.split(splitString);     trace(ownersArray[1]);  // Displays: "doug"

Note that in Flash 5 split( ) can take a long time to execute with large bodies of text; it is considerably faster in Flash 6. If performance is a problem, break your data into manageable portions or consider using XML instead. See the XML class.

Bugs

In Flash 5, using the empty string as a delimiter adds all of string to the first element of the array being generated. According to ECMA-262, an empty string delimiter should cause string to be broken at each character. Similarly, multicharacter delimiters are not recognized by Flash 5 and cause all of string to be assigned to the first element of the returned array. These bugs are fixed in Flash Player 6.

See Also

Array.join( ); "The split( ) function," in Chapter 4



    ActionScript for Flash MX. The Definitive Guide
    ActionScript for Flash MX: The Definitive Guide, Second Edition
    ISBN: 059600396X
    EAN: 2147483647
    Year: 2002
    Pages: 780
    Authors: Colin Moock

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net