0

我有 RTRIM;如何使 LTRIM 成为一个?

公共静态函数 rtrim(string:String):String
{
return string.replace(/\s+$/,"");
}

4

3 回答 3

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

警告:未经测试!在此处查找 flex 3.0 文档。这与您所拥有的完全相似,只是我们使用不同的元字符来指定我们要从 begin( ) 而不是 end( )开始搜索空格(\s--另一个元字符)。after告诉模式匹配一​​个或多个空格。^$+\s

于 2009-02-17T12:41:42.747 回答
2

与其重新发明轮子,不如直接使用 Adob​​e 的 as3corelib库中的 StringUtil 类?

出于兴趣,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 "";
}
于 2009-02-17T13:09:35.440 回答
0

哇,认真的吗?您正在使用正则表达式从字符串的末尾删除恒定的字符序列?真的吗?我不知道 Actionscript/Flex,但这不是要走的路。在快速谷歌之后,我找到了一个可能会或可能不会更有效的解决方案。

于 2009-02-17T12:49:33.553 回答