ActionScript: 格式化字串輸出
阿新 • • 發佈:2019-01-25
前言:
剛接觸 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.