我有RTRIM;如何使LTRIM成为一个?我有RTRIM;如何使用正则表达式来制作LTRIM
公共静态函数RTRIM(字符串:字符串):字符串
{
回报与string.replace(/ \ s + $ /, “”);
}
我有RTRIM;如何使LTRIM成为一个?我有RTRIM;如何使用正则表达式来制作LTRIM
公共静态函数RTRIM(字符串:字符串):字符串
{
回报与string.replace(/ \ s + $ /, “”);
}
哇,认真吗?你正在使用正则表达式从字符串的末尾移除一个连续的字符序列?真?我不知道Actionscript/Flex,但这不是要走的路。快速谷歌后,我发现一个solution这可能会或可能不会更有效。
public static function ltrim(string:String):String {
return string.replace(/^\s+/,"");
}
警告:未经测试!查阅flex 3.0文档here。这正是类似于你有什么,除了我们使用不同的元字符指定我们要开始搜索空格(\s
- 另一个元字符)的端部($
)从一开始(^
)代替。在\s
之后的+
告诉模式匹配以挖掘一个或多个空格。
而不是重新发明轮子,为什么不只是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 "";
}
它总是有趣的使用东西的东西他们从来没有注定要与使用。 – dirkgently 2009-02-17 12:59:18
在Firefox中超过100,000次迭代的客户端JavaScript中,正则表达式所用的时间比您粘贴的示例(经过适当修改)少了一半时间。 – 2009-02-17 20:50:43