⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringutil.as

📁 用于flash/flex的 as3的 2D图形图像图表的动态生成
💻 AS
字号:
package flare.query
{
	import flash.utils.ByteArray;
	
	/**
	 * Utility class providing functions for manipulating <code>String</code>
	 * objects. These functions are intended for use by the
	 * <code>Fn</code> operator.
	 */
	public class StringUtil
	{
		public static function concat(...args):String
		{
			return args.join("");
		}
		
		public static function concat_ws(sep:String, ...args):String
		{
			return args.join(sep);
		}
		
		public static function format(x:Number, d:int):String
		{
			return x.toFixed(d);
		}
		
		public static function insert(s:String, pos:int, len:int, ns:String):String
		{
			var slen:int = s.length;
			if (pos < 0 || pos > slen)
            	return s;
	        if (len < 0 || len > slen)
	            return s.substring(0,pos)+ns;
	        else
	            return s.substring(0,pos)+ns+s.substring(len);
		}
		
		public static function left(s:String, len:int):String
		{
			return s.substring(0, len);
		}
		
		public static function length(s:String):int
		{
			return s.length;
		}
		
		public static function lower(s:String):String
		{
			return s.toLowerCase();
		}
		
		public static function lpad(s:String, len:int, pad:String):String
		{
			var strlen:int = s.length;
	        if (strlen > len) {
	            return s.substring(0,len);
	        }
	        else if (strlen == len) {
	            return s;
	        }
	        else {
	        	var b:ByteArray = new ByteArray();
	        	var padlen:int = pad.length;
	        	var diff:int = len - strlen;

	            for (var i:int=0; i<diff; i+=padlen)
	            	b.writeUTFBytes(pad);
	            if (b.length > diff)
	            	b.position = diff;
	            b.writeUTFBytes(s);
	            b.position = 0;
	            return b.readUTFBytes(b.length);
	        }
		}
		
		public static function position(sub:String, s:String):int
		{
			return s.indexOf(sub);
		}
		
		public static function reverse(s:String):String
		{
			var b:ByteArray = new ByteArray();
        	for (var i:int=s.length-1; --i>=0; ) {
        		b.writeUTFBytes(s.charAt(i));
        	}
        	b.position = 0;
        	return b.readUTFBytes(b.length);
		}
		
		public static function repeat(s:String, count:int):String
		{
			var b:ByteArray = new ByteArray();
        	for (var i:int=0; i<count; ++i) {
        		b.writeUTFBytes(s);
        	}
        	b.position = 0;
        	return b.readUTFBytes(b.length);
		}
		
		public static function replace(s:String, orig:String, replace:String):String
		{
			return s.replace(new RegExp(orig, "g"), replace);
		}
		
		public static function right(s:String, len:int):String
		{
			return s.substring(s.length-len);
		}
		
		public static function rpad(s:String, len:int, pad:String):String
		{
			var strlen:int = s.length;
	        if (strlen > len) {
	            return s.substring(0,len);
	        }
	        else if (strlen == len) {
	            return s;
	        }
	        else {
	        	var b:ByteArray = new ByteArray();
	        	b.writeUTFBytes(s);
	        	var padlen:int = pad.length;
	        	var diff:int = len - strlen;

	            for (var i:int=0; i<diff; i+=padlen)
	            	b.writeUTFBytes(pad);
	            b.position = 0;
	            return b.readUTFBytes(len);
	        }
		}
		
		public static function space(len:int):String
		{
			return repeat(" ", len);
		}
		
		public static function substring(s:String, pos:int, len:int=-1):String
		{
			return len<0 ? s.substr(pos) : s.substr(pos, len);
		}
		
		public static function upper(s:String):String
		{
			return s.toUpperCase();
		}
		
		public static function startsWith(s:String, p:String):Boolean
		{
			return s.indexOf(p) == 0;
		}
		
		public static function endsWith(s:String, p:String):Boolean
		{
			var diff:int = s.length - p.length;
			if (diff < 0) return false;
			for (var i:uint=0; i<p.length; ++i) {
				if (s.charCodeAt(i+diff) != p.charCodeAt(i))
					return false;
			}
			return true;
		}

	} // end of class StringUtil
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -