- 締切済み
FLASH MXで特定の文字数を数える
英語の速読教材のために、 外部テキストを読み込んで、 単語数を計算したいと考えています。 単語数の計算のためには、 テキスト中のスペースの数+1で 出せないかと考えています。 FLASH MXのindexofでは 文字列を検索して見つかった位置を出すことは あるようですが、 文字数を数えるようなことは可能でしょうか。 ご教授いただければ幸いです。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 15mm
- ベストアンサー率65% (65/100)
私が知らないだけなのか、そのような関数は無いみたいです。 ですので、発想を変えて、スペースの個数ではなくてスペースで区切った配列の個数を調べてみたいと思います。 ActionScriptって正規表現なるものが無いみたいで、ちょっと回りくどいやり方ですが、 1.全文を改行で区切り、スペースで連結し、単語間をスペース文字のみで統一。 2.split(" ")で実際に区切る。 3.できた配列を並べ替え、スペースが連続していたと思われるだけ個数を減らす。 1と3は必要なければいりません。 zenbun="This is sample.\r\nWhat a fat rat that rat is!\r\n\r\n end"; trace(zenbun); word=zenbun.split("\r\n").join(" ").split(" "); words=word.length; trace("配列の要素数:"+words); word.sort(); for(i=0;i<=words;i++){if(word[i]!=""){break;}words--;} trace("処理後要素数:"+words); 例文として空行があったり、スペースが2つ続いたりと、面倒なものを作りましたが、 そんな変な文章を扱うことは無いというのなら簡略化していいと思います。 例文の内容は気にしないでくださいw