1. 程式人生 > >ActionScript: 格式化字串輸出

ActionScript: 格式化字串輸出

前言:

剛接觸 ActionScript (簡稱AS,非Android Studio),目前好像是3.0版本了。

用了幾天,感覺語言還是大致還是相同的,除了一些語法構建和引用外,暫時寫起來感覺還能上手。今天用到字串的拼接寫法,突然發現不支援 String.Format();的格式化輸出。所以自己網上查閱了一些資料,搗鼓了一個可以 類似java的 String.Format();寫法。

程式碼如下:

 public class StringConvert{
  	private var INT_STR:String = "%d"; 
  	private var FLOAT_STR:String = "%f"; 
  	private var STRING_STR:String = "%s"; 
  	private var BRACKET_STR:String = "{";
  
  	public static function Format(string:String, ...args):String {
  		
          for(var i:int = 0;i<args.length;i++){
            if(string.indexOf(BRACKET_STR)>0){
  		string = string.replace(new RegExp("\\{" + i + "\\}", ""), args[i]);
  	    }
            else if(string.indexOf(BRACKET_STR)>0){
  		string = string.replace(new RegExp("\\d", ""), args[i]);
  	    }
            else if(string.indexOf(FLOAT_STR)>0){
  		string = string.replace(new RegExp("\\f", ""), args[i]);
  	    }
           else if(string.indexOf(STRING_STR)>0){
  		string = string.replace(new RegExp("\\s", ""), args[i]);
  	    }
          }
  	    return string;
  	}
  }

用法和Java 差不多:

var str:String = "hi, {0}, I'm {1}";
StringConvert.Format(str, carol, jeter);

輸出:

hi, carol. I'm jeter.