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




ActionScript 3. 0 Cookbook
ActionScript 3.0 Cookbook: Solutions for Flash Platform and Flex Application Developers
ISBN: 0596526954
EAN: 2147483647
Year: 2007
Pages: 351

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