我有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