2009-02-17 32 views

回答

0

哇,认真吗?你正在使用正则表达式从字符串的末尾移除一个连续的字符序列?真?我不知道Actionscript/Flex,但这不是要走的路。快速谷歌后,我发现一个solution这可能会或可能不会更有效。

+0

它总是有趣的使用东西的东西他们从来没有注定要与使用。 – dirkgently 2009-02-17 12:59:18

+0

在Firefox中超过100,000次迭代的客户端JavaScript中,正则表达式所用的时间比您粘贴的示例(经过适当修改)少了一半时间。 – 2009-02-17 20:50:43

3
public static function ltrim(string:String):String { 
    return string.replace(/^\s+/,""); 
} 

警告:未经测试!查阅flex 3.0文档here。这正是类似于你有什么,除了我们使用不同的元字符指定我们要开始搜索空格(\s - 另一个元字符)的端部($)从一开始(^)代替。在\s之后的+告诉模式匹配以挖掘一个或多个空格。

2

而不是重新发明轮子,为什么不只是use the StringUtil class from Adobe's as3corelib图书馆?

出于兴趣,定义的as3corelib它的装饰功能如下:

public static function trim(input:String):String 
{ 
    return StringUtil.ltrim(StringUtil.rtrim(input)); 
} 

public static function ltrim(input:String):String 
{ 
    var size:Number = input.length; 
    for(var i:Number = 0; i < size; i++) 
    { 
     if(input.charCodeAt(i) > 32) 
     { 
      return input.substring(i); 
     } 
    } 
    return ""; 
} 

public static function rtrim(input:String):String 
{ 
    var size:Number = input.length; 
    for(var i:Number = size; i > 0; i--) 
    { 
     if(input.charCodeAt(i - 1) > 32) 
     { 
      return input.substring(0, i); 
     } 
    } 
    return ""; 
} 
相关问题