9.10. Processing One Character at a Time

Problem

You want to process a string one character at a time.

Solution

Use a for statement and the String.charAt( ) method. Alternatively, use String.split( ) with the empty string as the delimiter to split the string into an array of all the characters, then use a for statement to loop through the array.

Discussion

The simplest way to process each character of a string is to use a for statement that loops from 0 to the length of the string, incrementing by 1. Within the for statement body, you can use the charAt( ) method to extract each character for processing.

myString = "a string";

// Loop from 0 to the length of the string.
for (var i = 0; i < myString.length; i++) {
  /* Output each character, one at a time. This displays:
     a

     s
     t
     r
     i
     n
     g
  */
  trace(myString.charAt(i));
}

You can achieve the same effect by using the split( ) method to first split the string into an array of characters and then looping through the array to process each character. You should use the empty string as the delimiter parameter for the split( ) method to split between each character.

myString = "a string";

// Split the string into an array of characters (one-character strings).
chars = myString.split("");

// Loop through all the elements of the chars array.
for (var i = 0; i < chars.length; i++) {
  /* Output each character element. This displays:
     a

     s
     t
     r
     i
     n
     g
  */
  trace(chars[i]);
}

Both techniques are generally interchangeable, though the second offers some advantages if ...

Get Actionscript Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.