私は RTRIM を持っています。LTRIMを1つにする方法は?
public static function rtrim(string:String):String
{
return string.replace(/\s+$/,"");
}
私は RTRIM を持っています。LTRIMを1つにする方法は?
public static function rtrim(string:String):String
{
return string.replace(/\s+$/,"");
}
public static function ltrim(string:String):String {
return string.replace(/^\s+/,"");
}
警告: 未テスト! ここでflex 3.0 のドキュメントを参照してください。これは、end( ) ではなくbegining( ) から空白 ( -- 別のメタ文字) の検索を開始することを指定するために別のメタ文字を使用することを除いて、あなたが持っているものとまったく同じです。afterは、パターン マッチが 1 つ以上の空白を grok するように指示します。\s
^
$
+
\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 を知りませんが、これは行くべき道ではありません。簡単なグーグルの後、より効率的である場合とそうでない場合がある解決策を見つけました。