用法:
replace (原字符串,要替换的子串,用来替换的子串)
原字符串为 "Hi, a river is a story ",使用replace ("Hi, a river is a story ","a","their") ,则返回字符串“Hi, their river is their story”。常常用来替换词,屏蔽不好的用语等。
代码:
function replace (str:String, replace:String, replaceWith:String):String
{
var sb:String = new String();
var found:Boolean = false;
for (var i = 0; i < str.length; i++)
{
if(str.charAt(i) == replace.charAt(0))
{
found = true;
for(var j = 0; j < replace.length; j++)
{
if(!(str.charAt(i + j) == replace.charAt(j)))
{
found = false;
break;
}
}
if(found)
{
sb += replaceWith;
i = i + (replace.length - 1);
continue;
}
}
sb += str.charAt(i);
}
return sb;
}
字符串子串删除函数remove()
原理很简单,使用replace函数,将要删除的子串替换为空字符即可。
用法 :remove ( 原字符串, 要删除的子串);
function remove(str:String, remove:String):String
{
return replace(str, remove, "");
}
(下一节,一些有用的其他字符串处理函数)
广告:哈哈,现在刚好是阿里妈妈推广期哦,你是站长吗?推荐注册阿里妈妈赚广告费







Comments (5)
function replace (str:String, replace:String, replaceWith:String):String
{
}
Posted by Anonymous | September 12, 2006 11:12 AM
Posted on September 12, 2006 11:12
function replace (str:String, replace:String, replaceWith:String):String
{
return str.split(replace).join(replaceWith);
}
Posted by Anonymous | September 12, 2006 11:13 AM
Posted on September 12, 2006 11:13
其实很多function是多余的,remove function可以直接用
replace(str, remove, "");
这是我昨天看完你的TOOLS的修改版,可惜BLOG有问题,无法POST
static function replace (str : String, replace : String, replaceWith : String) : String
{
var s = str.substr(0);
var idx = 0;
while ((idx = s.indexOf(replace)) != -1)
s = s.substr(0, idx) + replaceWith + s.substring(idx + replace.length);
return s;
}
今天我再看一遍,发觉可以更简单
Posted by Anonymous | September 12, 2006 11:18 AM
Posted on September 12, 2006 11:18
还有问题,
replace("this is an apple", "a", "be") 会得到什么?
"this ia ben bepple"
应该还要考虑是词才替换
Posted by Anonymous | September 12, 2006 11:22 AM
Posted on September 12, 2006 11:22
为了提高兼容性要最好修改一下
如果传递过来的str参数不是字符对象就会出错。
static function replace (str : String, replace : String, replaceWith : String) : String
{
//var s = str.substr(0);改为
var s = str.toString();
var idx = 0;
while ((idx = s.indexOf(replace)) != -1)
s = s.substr(0, idx) + replaceWith + s.substring(idx + replace.length);
return s;
}
Posted by afei | June 16, 2007 3:28 PM
Posted on June 16, 2007 15:28