我有RTRIM;如何使用regexp制作LTRIM

时间:2009-02-17 12:35:35

标签: actionscript-3 flex3

我有RTRIM;如何制作LTRIM?

public static function rtrim(string:String):String
           {
             return string.replace(/ \ s + $ /,“”);
               }

3 个答案:

答案 0 :(得分:3)

public static function ltrim(string:String):String {
    return string.replace(/^\s+/,"");
}
警告:未经测试!查看flex 3.0文档here。这与你所拥有的完全相似,只是我们使用不同的元字符来指定我们想要从开始({\s开始搜索空格(^ - 另一个元字符)。 1}})而不是从结尾($)。 +之后的\s告诉模式匹配以查找一个或多个空格。

答案 1 :(得分: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 "";
}

答案 2 :(得分:0)

哇,严肃吗?您是否使用正则表达式从字符串的末尾删除常量字符序列?真?我不知道Actionscript / Flex,但这不是要走的路。快速谷歌后,我发现solution可能会或可能不会更有效。