Previous Page
Next Page

Recipe 12.9. Converting Case

Problem

You want to change the case of a string or perform a case-insensitive comparison.

Solution

Use the to UpperCase( ) and toLowerCase( ) methods.

Discussion

The toUpperCase( ) and toLowerCase( ) methods return new strings in which all the characters are uppercase or lowercase, respectively, without modifying the original string. This is useful in situations in which you want to ensure uniformity of case. For example, you can use toLowerCase( ) or toUpperCase( ) to perform case-insensitive searches within strings, as is shown in Recipe 12.4. Both methods affect alphabetical characters only, leaving non-alphabetic characters unchanged:

var example:String = "What case?";

// Displays: what case?
trace( example.toLowerCase(  ) );

// Displays: WHAT CASE?
trace( example.toUpperCase(  ) );

// The original string value is unchanged: What case?
trace( example );

Both methods return a new string. To alter the original string, reassign the return value to it, as follows:

var example:String = example.toLowerCase(  );

You can use toLowerCase( ) and toUpperCase( ) in concert to capitalize the first letter of a word. The custom ascb.util.StringUtilities.toInitialCap( ) method does just that. The following is the code in the StringUtilities class in which the toInitialCap( ) method is defined:

public static function toInitialCap( original:String ):String {
  return original.charAt( 0 ).toUpperCase(  ) + original.substr( 1 ).toLowerCase(  );
}

The following is an example usage of the method:

var example:String = "bRuCE";
trace( StringUtilities.toInitialCap( example ) );    // Displays: Bruce

The toTitleCase( ) method converts a string to so-called title case (initial letters capitalized). The following is the definition of the method:

public static function toTitleCase( original:String ):String {
  var words:Array = original.split( " " );
  for (var i:int = 0; i < words.length; i++) {
    words[i] = toInitialCap( words[i] );
  }
  return ( words.join( " " ) );
}

And the following is a sample usage of the method:

var example:String = "the actionScript cookbook";

// Displays: The ActionScript Cookbook 
trace( StringUtilities.toTitleCase( example ) );

See Also

Recipe 12.4


Previous Page
Next Page
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)