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;i0){
  		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.

 

 

 

 

你可能感兴趣的:(ActionSrtipt)