In PHP we have a function called Trim() to remove characters from a string. However there are no the equivalent to PHP’s trim in Flash. But most time we need to trim a string with extra white space, so we can do only write this by ourselves. The following is 7 actionscript function which can do the same. They might help someone else. *If you know more please don’t hesitate to leave a comment.
1.
- class Toolkit {
- public static function trim(str:String):String {
- var char:String;
- while ((char = str.charAt(0)) == chr(Key.SPACE) || char == chr(Key.TAB))
- str = str.substr(1);
- while ((char = str.charAt(str.length – 1)) == chr(Key.SPACE) || char == chr(Key.TAB))
- str = str.substr(0, str.length – 1);
- return str;
- }
- }
2.
- function trim(string) {
- if (string.indexOf(" ") != -1) {
- whiteIndex = string.indexOf(" ");
- fst = string.slice(0, whiteIndex);
- snd = string.slice(whiteIndex+1, string.length);
- trim((fst+snd));
- } else {
- _root.noSpaces = string;
- }
- }
3.
- function trim(str:String) :String {
- if(str=="") return "";
- var newStr:String;
- var len:Number = str.length;
- var s:Number = 0;
- for(var i=0; i<len ; ++i) {
- if(str.substr(i,1)==" ") s++;
- else break;
- }
- newStr = str.slice(s);
- s = 0;
- for(var i=(len-1); i>-1; –i) {
- if(str.substr(i,1)==" ") s–;
- else break;
- }
- s = s==0? len : s;
- newStr = newStr.slice(0,s);
- return newStr;
- }
4.
- public function trim(str:String, char:String):String {
- return trimBack(trimFront(str, char), char);
- }
- public function trimFront(str:String, char:String):String {
- char = stringToCharacter(char);
- if (str.charAt(0) == char) {
- str = trimFront(str.substring(1), char);
- }
- return str;
- }
- public function trimBack(str:String, char:String):String {
- char = stringToCharacter(char);
- if (str.charAt(str.length - 1) == char) {
- str = trimBack(str.substring(0, str.length - 1), char);
- }
- return str;
- }
5.
- // parameters:
- // matter, string to be trimmed
- // returns:
- // string, whitespaces removed from left side.
- function ltrim(matter) {
- if ((matter.length>1) || (matter.length == 1 && matter.charCodeAt(0)>32 && matter.charCodeAt(0)<255)) {
- i = 0;
- while (i<matter.length && (matter.charCodeAt(i)<=32 || matter.charCodeAt(i)>=255)) {
- i++;
- }
- matter = matter.substring(i);
- } else {
- matter = "";
- }
- return matter;
- }
- // parameters:
- // matter, string to be trimmed
- // returns:
- // string, whitespaces removed from right side.
- function rtrim(matter) {
- if ((matter.length>1) || (matter.length == 1 && matter.charCodeAt(0)>32 && matter.charCodeAt(0)<255)) {
- i = matter.length-1;
- while (i>=0 && (matter.charCodeAt(i)<=32 || matter.charCodeAt(i)>=255)) {
- i–;
- }
- matter = matter.substring(0, i+1);
- } else {
- matter = "";
- }
- return matter;
- }
- // parameters:
- // matter, string to be trimmed
- // returns:
- // string, whitespaces removed from both sides.
- function trim(matter) {
- return ltrim(rtrim(matter));
- }
6.
- function LTrim(s:String):String {
- var i=0;
- while ((i<s.length) && (s.substr(i,1)==’ ‘)) i++;
- return (s.substr(i,s.length-i));
- }
- function RTrim(s:String):String {
- var i=s.length -1;
- while ((i>0) && (s.substr(i,1)==’ ‘)) i–;
- return (s.substr(0,i+1));
- }
- function Trim(s:String) {
- return(LTrim(RTrim(s)));
- }
7.
- function trim( s:String ):String
- {
- return s.replace( /^([\s|\t|\n]+)?(.*)([\s|\t|\n]+)?$/gm, "$2" );
- }

April 7th, 2010
Ntt.cc 








Posted in
Tags: 
RSS Feed
Email Feed
What about just using StringUtil.trim()? It trims whitespace from the beginning and end of the string, and it’s build in. I just found it and used it this morning.
Package mx.utils
Class public class StringUtil
Inheritance StringUtil Inheritance Object
Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1
how can i get a list of all child’s in a flex application ?
[...] 原文:7 Trim 也曾为Trim纠结过。很久没浏览订阅了,今儿看到了。贴上。 1. [...]