チェンジセット 908
- コミット日時:
- 2008/07/29 20:40:31 (4 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/Utils/src/org/libspark/utils/StringUtil.as
r804 r908 56 56 * 半角スペースを削除し、次の文字を大文字に変換します。 57 57 * @author taka:nium 58 * michi at seyself.com 58 59 * @param str 変換したい String です。 59 60 * @return 変換後の String です。 61 * @example 以下のコードでは action script 3.0 language reference という文字列を変換し出力ます。 62 * <listing> 63 * var str:String = "action script 3.0 language reference"; 64 * 65 * trace(StringUtil.camelize(str)); 66 * // output : ActionScript3.0LanguageReference 67 * 68 * trace(StringUtil.decamelize(StringUtil.camelize(str))); 69 * // output : action script 3.0 language reference 70 * </listing> 60 71 *//*=======================================================================*/ 61 72 static public function camelize( str:String ):String { 62 var words:Array = str.split( " " ); 63 var l:int = words.length; 64 for ( var i:int = 0; i < l; i++ ) { 65 words[i] = toUpperCaseFirstLetter( words[i] ); 66 } 67 return words.join( "" ); 73 return str.replace(/(\s|^)(\w)/g, 74 function(...$):String { return $[2].toUpperCase(); }); 68 75 } 69 76 … … 71 78 * 大文字の String を、区切り文字と小文字化した String に変換します。 72 79 * @author taka:nium 80 * michi at seyself.com 73 81 * @param str 変換したい String です。 74 82 * @param separater 区切り文字として使用したい String です。 75 83 * @return 変換後の String です。 84 * @example 以下のコードでは action script 3.0 language reference という文字列を変換し出力ます。 85 * <listing> 86 * var str:String = "action script 3.0 language reference"; 87 * 88 * trace("output : " + StringUtil.camelize(str)); 89 * // output : ActionScript3.0LanguageReference 90 * 91 * trace("output : " + StringUtil.decamelize(StringUtil.camelize(str))); 92 * // output : action script 3.0 language reference 93 * </listing> 76 94 *//*=======================================================================*/ 77 95 static public function decamelize( str:String, separater:String = " " ):String { 78 return str.replace( new RegExp( "[a-z][A-Z]", "g" ), function():String { 79 return String( arguments[0] ).toLowerCase().split( "" ).join( separater ); 80 } ); 96 return str.replace( /(([^.\d])(\d)|[A-Z])/g, 97 function(...$):String { 98 if($[2]) return $[2] + separater + $[3].toLowerCase(); 99 if($[4]==0) return $[0].toLowerCase(); 100 return separater + $[0].toLowerCase(); 101 }); 102 //return str.replace( new RegExp( "[a-z][A-Z]", "g" ), function():String { 103 //return String( arguments[0] ).toLowerCase().split( "" ).join( separater ); 104 //} ); 81 105 } 82 106

