我有 RTRIM;如何使 LTRIM 成为一个?
公共静态函数 rtrim(string:String):String
{
return string.replace(/\s+$/,"");
}
我有 RTRIM;如何使 LTRIM 成为一个?
公共静态函数 rtrim(string:String):String
{
return string.replace(/\s+$/,"");
}
public static function ltrim(string:String):String {
return string.replace(/^\s+/,"");
}
警告:未经测试!在此处查找 flex 3.0 文档。这与您所拥有的完全相似,只是我们使用不同的元字符来指定我们要从 begin( ) 而不是 end( )开始搜索空格(\s
--另一个元字符)。after告诉模式匹配一个或多个空格。^
$
+
\s
与其重新发明轮子,不如直接使用 Adobe 的 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 "";
}
哇,认真的吗?您正在使用正则表达式从字符串的末尾删除恒定的字符序列?真的吗?我不知道 Actionscript/Flex,但这不是要走的路。在快速谷歌之后,我找到了一个可能会或可能不会更有效的解决方案。