前言:
刚接触 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.