String.split( ) Method | Flash 5 |
convert a string into a series of array elements |
The character or series of characters at which to break string when forming elements of the new array.
An array whose elements contain the substrings formed by breaking string into segments demarcated by delimiter.
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.
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.
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.
Array.join( ); "The split( ) function," in Chapter 4