如何替换字符串中的变量

需求:用一个数组中的文字替换一个字符串中的特殊标记字符。

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);

 

开放讨论:还有其他更方便、有效率的方法么?

你可能感兴趣的:(如何替换字符串中的变量)