123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- /*
- Copyright (c) 2008, Adobe Systems Incorporated
- All rights reserved.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of Adobe Systems Incorporated nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- package com.adobe.utils
- {
-
- /**
- * Class that contains static utility methods for manipulating Strings.
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public class StringUtil
- {
-
- /**
- * Does a case insensitive compare or two strings and returns true if
- * they are equal.
- *
- * @param s1 The first string to compare.
- *
- * @param s2 The second string to compare.
- *
- * @returns A boolean value indicating whether the strings' values are
- * equal in a case sensitive compare.
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function stringsAreEqual(s1:String, s2:String,
- caseSensitive:Boolean):Boolean
- {
- if(caseSensitive)
- {
- return (s1 == s2);
- }
- else
- {
- return (s1.toUpperCase() == s2.toUpperCase());
- }
- }
-
- /**
- * Removes whitespace from the front and the end of the specified
- * string.
- *
- * @param input The String whose beginning and ending whitespace will
- * will be removed.
- *
- * @returns A String with whitespace removed from the beginning and end
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function trim(input:String):String
- {
- return StringUtil.ltrim(StringUtil.rtrim(input));
- }
- /**
- * Removes whitespace from the front of the specified string.
- *
- * @param input The String whose beginning whitespace will will be removed.
- *
- * @returns A String with whitespace removed from the beginning
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function ltrim(input:String):String
- {
- var size:Number = input.length;
- for(var i:Number = 0; i < size; i++)
- {
- if(input.charCodeAt(i) > 32)
- {
- return input.substring(i);
- }
- }
- return "";
- }
- /**
- * Removes whitespace from the end of the specified string.
- *
- * @param input The String whose ending whitespace will will be removed.
- *
- * @returns A String with whitespace removed from the end
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function rtrim(input:String):String
- {
- var size:Number = input.length;
- for(var i:Number = size; i > 0; i--)
- {
- if(input.charCodeAt(i - 1) > 32)
- {
- return input.substring(0, i);
- }
- }
- return "";
- }
- /**
- * Determines whether the specified string begins with the spcified prefix.
- *
- * @param input The string that the prefix will be checked against.
- *
- * @param prefix The prefix that will be tested against the string.
- *
- * @returns True if the string starts with the prefix, false if it does not.
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function beginsWith(input:String, prefix:String):Boolean
- {
- return (prefix == input.substring(0, prefix.length));
- }
- /**
- * Determines whether the specified string ends with the spcified suffix.
- *
- * @param input The string that the suffic will be checked against.
- *
- * @param prefix The suffic that will be tested against the string.
- *
- * @returns True if the string ends with the suffix, false if it does not.
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function endsWith(input:String, suffix:String):Boolean
- {
- return (suffix == input.substring(input.length - suffix.length));
- }
- /**
- * Removes all instances of the remove string in the input string.
- *
- * @param input The string that will be checked for instances of remove
- * string
- *
- * @param remove The string that will be removed from the input string.
- *
- * @returns A String with the remove string removed.
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function remove(input:String, remove:String):String
- {
- return StringUtil.replace(input, remove, "");
- }
-
- /**
- * Replaces all instances of the replace string in the input string
- * with the replaceWith string.
- *
- * @param input The string that instances of replace string will be
- * replaces with removeWith string.
- *
- * @param replace The string that will be replaced by instances of
- * the replaceWith string.
- *
- * @param replaceWith The string that will replace instances of replace
- * string.
- *
- * @returns A new String with the replace string replaced with the
- * replaceWith string.
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function replace(input:String, replace:String, replaceWith:String):String
- {
- return input.split(replace).join(replaceWith);
- }
-
-
- /**
- * Specifies whether the specified string is either non-null, or contains
- * characters (i.e. length is greater that 0)
- *
- * @param s The string which is being checked for a value
- *
- * @langversion ActionScript 3.0
- * @playerversion Flash 9.0
- * @tiptext
- */
- public static function stringHasValue(s:String):Boolean
- {
- //todo: this needs a unit test
- return (s != null && s.length > 0);
- }
- }
- }
|