前言:
刚接触 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.
AS3字符串格式化技巧
本文介绍了一种在ActionScript 3中实现类似Java的String.Format()格式化输出的方法,并提供了一个示例类StringConvert,该类可用于字符串的格式化拼接。
443

被折叠的 条评论
为什么被折叠?



