正则表达式有很强大的处理字符串的功能。应用以下程序块可以很灵活轻松的替换字符串的中间字段。 输出结果为:数学书需要300元人民币, 语文书需要1000美元!
package
{
import flash.display.Sprite;
public class RegLearn extends Sprite
{
public function RegLearn()
{
var str:String = "{0}需要{1}人民币, {2}需要{3}美元!";
trace(substitute(str, ["数学书", "300元", "语文书", "1000"]));
}
public function substitute(string:String, value:Array=null, start:String="{", end:String="}"):String
{
if (value == null) return string;
const pattern:RegExp=new RegExp(start + "(.*?)" + end, "g");
return string.replace(pattern, function():String
{
return value[arguments[1]];
});
}
}
}