加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Action Script 有用的字符串处理函数

(2007-08-26 20:26:45)
标签:

IT/科技

action

script

字符串

函数

分类: Flash
 第一trim函数:消除占位空字符函数:

删除字符串左右的占位空字符(以下简称空格),比如空格,回车,换行,制表Tab等符号,并返回删除后的String。 代码:

第一种trim函数,其算法简洁明了,缺点是对全角空格不能删除.

第一个函数:ltrim() 消除字符串左边空格的函数,返回一个新的字符串
function ltrim(str:String):String
{
var size =str.length;
for(var i = 0; i < size; i++)
{
if(str.charCodeAt(i) > 32) //解释:空格,tab,回车,换行charCode小于32
{
return str.substring(i);
}
}
return "";
}

第二个函数:rtrim() 消除字符串右边空格的函数,返回一个新的字符串:
function rtrim(str:String):String
{
var size = str.length;
for(var i = size; i > 0; i--)
{
if(str.charCodeAt(i) > 32)//同上
{
return str.substring(0, i + 1);
}
}
return "";
}

第三个函数:trim() 消除字符串两边空格的函数,返回一个新的字符串:
function trim(str:String):String
{
return rtrim( ltrim(str) );
}

第二种trim函数,一次性搞定两边空格(来自经典)。

优点:比较好改写。改写:可以在其中加上你要去掉的其他字符,比如说标点,和全角空格。

function trim (str : String) : String {
var a : Number = 0;
var b : Number = 0;
for (var i = 0; i < str.length; i ++){
if (str.charAt (i) != " " && str.charAt (i) != " " && str.charAt (i) != " " &&
str.charAt (i) != "\n" && str.charAt (i) != "\r" && str.charAt (i) != "\t") {
a = i;
break;
}
}
for (var i = str.length - 1; i >= 0; i --){
if (str.charAt (i) != " " && str.charAt (i) != " " && str.charAt (i) != " " &&
str.charAt (i) != "\n" && str.charAt (i) != "\r" && str.charAt (i) != "\t") {
b = i - a + 1;
break;
}
}
var ret : String = str.substr (a, b);
return ret;
}

第二 字符串子串替换函数 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, "");
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有