November 9, 2005

Action Script 2极有用的字符串处理函数补充【黑羽翔天】 (2)

ActionScript3天地会公测中...

第二节 字符串子串替换函数,删除函数,

字符串子串替换函数 replace()

功能:将指定字符串中某子串替换成另一个字符串,并返回新字符串。用处极广。

用法:
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, "");
}

(下一节,一些有用的其他字符串处理函数)

广告:哈哈,现在刚好是阿里妈妈推广期哦,你是站长吗?推荐注册阿里妈妈赚广告费

TrackBack

TrackBack URL for this entry:
http://www.kingda.org/mt/mt-tb.cgi/10

Comments (5)

Anonymous:

function replace (str:String, replace:String, replaceWith:String):String
{

}

Anonymous:

function replace (str:String, replace:String, replaceWith:String):String
{
return str.split(replace).join(replaceWith);
}

Anonymous:

其实很多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;
}
今天我再看一遍,发觉可以更简单

Anonymous:

还有问题,
replace("this is an apple", "a", "be") 会得到什么?
"this ia ben bepple"
应该还要考虑是词才替换

afei:

为了提高兼容性要最好修改一下
如果传递过来的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;
}

留下高见,发表评论

个人信息不会外泄,请放心填写。

姓名和Email必填。

发表评论后,请耐心等待,不要频繁刷新。提交完成后,刷新一下本页即可看到您的评论。^_^

请输入验证字符"p" :
文字广告:你是站长吗?注册阿里妈妈赚广告费

最近发表

归档

全部
Creative Commons License
此 Blog 中的日记
遵循以下授权:
Creative Commons
(创作共用) 授权
.
Google PageRank
本站被Adobe官方MXNA新闻聚合器收录
本站被蓝色理想BXNA收录