Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 我有RTRIM;如何使用regexp制作LTRIM_Actionscript 3_Flex3 - Fatal编程技术网

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

Actionscript 3 我有RTRIM;如何使用regexp制作LTRIM,actionscript-3,flex3,Actionscript 3,Flex3,我有RTRIM;如何制作LTRIM 公共静态函数rtrim(string:string):string { 返回字符串。替换(/\s+$/,“”); } public static function ltrim(string:String):String { return string.replace(/^\s+/,""); } 警告:未经测试!查阅flex 3.0文档。这与您所拥有的完全相似,只是我们使用不同的元字符来指定我们希望从开始(^)而不是从结束($)开始搜索空白(\s--另

我有RTRIM;如何制作LTRIM

公共静态函数rtrim(string:string):string
{
返回字符串。替换(/\s+$/,“”);
}

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


警告:未经测试!查阅flex 3.0文档。这与您所拥有的完全相似,只是我们使用不同的元字符来指定我们希望从开始(
^
)而不是从结束(
$
)开始搜索空白(
\s
--另一个元字符)。
+
之后的
\s
告诉模式匹配搜索一个或多个空格。

哇,真的吗?您正在使用正则表达式从字符串末尾删除一个常量字符序列?真正地我不知道Actionscript/Flex,但这不是解决问题的方法。在快速的谷歌搜索之后,我发现了一个可能更有效,也可能不更有效的方法。

哇,真的吗?您正在使用正则表达式从字符串末尾删除一个常量字符序列?真正地我不知道Actionscript/Flex,但这不是解决问题的方法。在快速的谷歌搜索之后,我发现了一个可能更有效,也可能不更有效的方法。

与其重新发明轮子,为什么不只是图书馆呢

出于兴趣,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 "";
}
public静态函数trim(输入:String):String
{
返回StringUtil.ltrim(StringUtil.rtrim(输入));
}
公共静态函数ltrim(输入:字符串):字符串
{
变量大小:Number=input.length;
对于(变量i:Number=0;i32)
{
返回输入子串(i);
}
}
返回“”;
}
公共静态函数rtrim(输入:String):String
{
变量大小:Number=input.length;
对于(变量i:Number=size;i>0;i--)
{
if(输入.charCodeAt(i-1)>32)
{
返回输入。子字符串(0,i);
}
}
返回“”;
}

与其重新发明轮子,何不干脆用图书馆呢

出于兴趣,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 "";
}
public静态函数trim(输入:String):String
{
返回StringUtil.ltrim(StringUtil.rtrim(输入));
}
公共静态函数ltrim(输入:字符串):字符串
{
变量大小:Number=input.length;
对于(变量i:Number=0;i32)
{
返回输入子串(i);
}
}
返回“”;
}
公共静态函数rtrim(输入:String):String
{
变量大小:Number=input.length;
对于(变量i:Number=size;i>0;i--)
{
if(输入.charCodeAt(i-1)>32)
{
返回输入。子字符串(0,i);
}
}
返回“”;
}

将东西用于本来不应该使用的东西总是很有趣的。在Firefox中超过100000次迭代的客户端JavaScript中,正则表达式所用的时间比粘贴的示例(经过适当修改)所用的时间少一半.我不确定使用正则表达式删除字符串结尾的空白到底有什么错。正则表达式代码以声明的方式(告诉计算机你想要什么)传达意图,而不是强制性地(告诉计算机得到你想要的东西的步骤)。正则表达式,如XML,通常用于它不适合的事情。对于从字符串的开头/结尾删除两个字符的序列这样简单的事情,没有理由使用像正则表达式这样复杂的东西。不过,速度上的差异令人惊讶。将东西用于它们从未打算使用的东西总是很有趣的。在Firefox中超过100000次迭代的客户端JavaScript中,正则表达式所花费的时间不到您粘贴(适当修改)的示例的一半.我不确定使用正则表达式删除字符串结尾的空白到底有什么错。正则表达式代码以声明的方式(告诉计算机你想要什么)传达意图,而不是强制性地(告诉计算机得到你想要的东西的步骤)。正则表达式,如XML,通常用于它不适合的事情。对于从字符串的开头/结尾删除两个字符的序列这样简单的事情,没有理由使用像正则表达式这样复杂的东西。但是速度的差异令人惊讶。这个答案中的代码只删除了行的开头和结尾的空格。正则表达式版本删除[\t\n\r\f\v]。@Grant,不是true,它删除所有<33的字符代码。空格=32、\t=9、\n=10、\r=13、\f=12、\v=11等等,所以它们都将被删除。(顺便说一句,这是Adobe的实现,不是我的实现。)此答案中的代码仅删除行开头和结尾的空格。正则表达式版本删除[\t\n\r\f\v]。@Grant,不是true,它删除所有<33的字符代码。空格=32、\t=9、\n=10、\r=13、\f=12、\v=11等等,所以它们都将被删除。(顺便说一句,这是Adobe的实现,不是我的。)