我在处理flash时主要使用AS3,但我需要在特定项目中使用AS2,AS2不是我的朋友。
我需要定期替换某些数据中的一系列子串。通常我会创建一个使用string.replace()
并通过它运行我的数据的清理功能。
然而,AS2缺少string.replace()
功能,我没有找到等效功能。实现类似功能的最简单方法是什么?
示例:
dirtydata = "I have ABCtoast withABCABC jamABC"
我的结果将是:
cleandata = "I have toast with jam"
答案 0 :(得分:2)
这样做,
String.prototype.replace = function(searchStr, replaceStr):String {
var arr:Array = this.split(searchStr);
return arr.join(replaceStr);
};
// initial string with a placeholder
var str:String = 'I have ABCtoast withABCABC jamABC';
// replace ABC with '' and trace it
var replacedStr:String = str.replace('ABC','');
trace(replacedStr)
否则,你也可以选择在同一行执行拆分和连接的功能。
function stringReplace(block:String, find:String, replace:String):String
{
return str.split(searchStr).join(replaceStr);
}