2009-04-20 9 views

答えて

0

私はactionscript2でこれを行う必要があり、それを行うには、次の4つの方法...(まあ、3.something)

var myString:String = "The quick brown fox jumped over the lazy " 
      + "dog. The quick brown fox jumped over the lazy dog."; 
var numOfD:int = 0; 

// 1# with an array.filter 
numOfD = myString.split("").filter(
      function(s:String, i:int, a:Array):Boolean { 
       return s.toLowerCase() == "d" 
      } 
     ).length; 

trace("1# counts ", numOfD); // output 1# counts 4 


// 2# with regex match 
numOfD = myString.match(/d/gmi).length; 
trace("2# counts ", numOfD); // output 2# counts 4 

// 3# with for loop 
numOfD = 0; 
for (var i:int = 0; i < myString.length;) 
    numOfD += (myString.charAt(++i).toLocaleLowerCase() == "d"); 
trace("3# counts ", numOfD); // output 3# counts 4 

// 4# with a new prototype function (and regex) 
String['prototype'].countOf = 
    function(char:String):int { 
     return this.match(new RegExp(char, "gmi")).length; 
    }; 
// -- compiler 'strict mode' = true 
numOfD = myString['countOf']("d"); 
trace("4# counts ", numOfD); // output 4# counts 4 
// -- compiler 'strict mode' = false 
numOfD = myString.countOf("d"); 
trace("4# counts ", numOfD); // output 4# counts 4 
+0

stackoverflow code parser is fail –

0

の配列内の文字をカウントする必要があります。 http://www.cev.washington.edu/lc/CLWEBCLB/jst/js_string.html

申し訳ありませんが、同じです。

+0

ある(flash8) – callisto

+0

「申し訳ありません同じように動作します。説明してください。 – callisto

+0

JavaScriptとActionScriptは両方ともEcmaScriptであり、文字列オブジェクトは両方で同じように動作します。 –

2

これを試してみてください:

for(var i:int = 0; i < arr.Length; i++) 
{ 
    if(arr[i].indexOf("d") != -1) 
     countD++; 
} 

利用のindexOfいうよりは含まれています。文字が文字列にない場合は-1を返し、そうでない場合は文字列が少なくとも1つのインスタンスを含みます。

+0

私は実際にactionscript2(flash8)でこれを行う必要がありますが、実際にはポイントがありがとうございます – callisto

+0

Adob​​eによると、indexOfはFlash 5ほどまでにサポートされていました:http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary /actionscript_dictionary692.html –

+0

あなたの質問には、ActionScript 2の要件を言及する必要があります –

0

はそれを見つけた:ここ

var searchString:String = "Lorem ipsum dolor sit amet."; 
var index:Number; 

index = searchString.indexOf("L"); 
trace(index); // output: 0 

index = searchString.indexOf("l"); 
trace(index); // output: 14 

index = searchString.indexOf("i"); 
trace(index); // output: 6 

index = searchString.indexOf("ipsum"); 
trace(index); // output: 6 

index = searchString.indexOf("i", 7); 
trace(index); // output: 19 

index = searchString.indexOf("z"); 
trace(index); // output: -1 
関連する問題