需求:用一个数组中的文字替换一个字符串中的特殊标记字符。
var prop:Array = ["ss1", 2,"雷峰塔", 3];
法一:
var ss:String = "【 [prop1] 】 [prop2] 分钟后在场景【[prop3]】出现!各位[prop4]级以上守护者们赶紧前往挑战";
for (var i:int =0; i<prop.length; i++)
{
ss= ss.split("[prop"+(i+1)+"]").join(prop[i]);
}
trace(ss);
法二:
var ss2:String = "【 [prop1] 】 [prop1] 分钟后在场景【[prop1]】出现!各位[prop1]级以上守护者们赶紧前往挑战";
var i:int = 0;
var index:int =ss2.indexOf("[prop1]");
while(index != -1 &&i<prop.length)
{
ss2= ss2.replace("[prop1]", prop[i]);
i++;
index= ss2.indexOf("[prop1]");
}
trace(ss2);
开放讨论:还有其他更方便、有效率的方法么?