| 函数版的 String.trim() 方法—删除字符串前后的多余空格 |
|
函数版的 String.trim() 方法—删除字符串前后的多余空格 |
| 作者:佚名 来源:闪吧 作者: tigerkin 更新:2007-1-13 20:46:34 错误报告 我要投稿 |
天有人问“在flash中有没有删除字符串中前后空格命令”,据我所知,AS没有!不过其他许多语言都有类似的 String.trim(); 方法! 先写个函数形式,以后肯定会封装到类中(还没讲到类的扩展)! 代码如下,感兴趣的话就试用一下,欢迎提意见和建议!
// // 函数:空格检验,是-true,否-false function isSpace(str:String):Boolean { switch (str) { case String.fromCharCode(32) : // 英文空格 //trace("English Spacebar Blank"); break; case String.fromCharCode(9) : // Tab键 //trace("Tab Blank"); break; case String.fromCharCode(12288) : // 中文双字节空格 //trace("Chinese Spacebar Blank"); break; default : //trace("No Blank"); return false; } return true; } // // 函数:计算从开头以后连续空格的数量 function countStartSpace(str:String):Number { var numLoop:Number = str.length; for (var i = 0; i < numLoop; i++) { // 遇到非空格马上退出 if (isSpace(str.charAt(i)) == false) { return i; } } // 全部是空格 return i; } // // 函数:计算从末尾以前连续空格的数量 function countEndSpace(str:String):Number { var numLoop:Number = str.length; for (var i = numLoop - 1; i >= 0; i--) { // 遇到非空格马上退出 if (isSpace(str.charAt(i)) == false) { return i; } } // 全部是空格 return i; } // // 函数:去除字符串前端的空格,返回裁减后的字符串 function leftTrim(str:String):String { var newStart = countStartSpace(str); return str.slice(newStart); } // // 函数:去除字符串末端的空格,返回裁减后的字符串 function rightTrim(str:String):String { var newEnd = countEndSpace(str) + 1; return str.slice(0, newEnd); } // // 函数:去除字符串两端的空格,返回裁减后的字符串 function allTrim(str:String):String { var rightStr:String = leftTrim(str); if (rightStr.length == 0) { return ""; //return null; } else { return rightTrim(rightStr); } } // // 测试 var str:String = new String(" 123 5 "); trace(leftTrim(str)); trace(rightTrim(str)); trace(allTrim(str));
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |