Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > テキストとストリングの操作 > ストリングおよび String クラスについて > 返されるサブストリング | |||
String クラスの substr() メソッドと substring() メソッドは類似したメソッドです。どちらもストリングのサブストリングを返しますし、どちらもパラメータは 2 つです。どちらのメソッドでも、最初のパラメータは、与えられたストリングの開始文字の位置です。ただし、substr() メソッドの 2 番目のパラメータは返されるサブストリングの長さであり、substring() メソッドの 2 番目のパラメータはサブストリングの末尾の文字の位置です (これは返されるストリングには含まれません)。この例は 2 つのメソッドの相違を示しています。
var myStr:String = "Hello from Paris, Texas!!!";
trace(myStr.substr(11,15)); // Paris, Texas!!!
trace(myStr.substring(11,15)); // Pari
最初のメソッド、substr() は、11 番目の文字から 15 文字を返します。2 番目のメソッド、substring() は、11 番目と 15 番目のインデックス間のすべての文字を取り出し、4 文字のストリングを返します。
trace(myStr.slice(11, 15)); // Pari trace(myStr.slice(-3, -1)); // !! trace(myStr.slice(-3, 26)); // !!! trace(myStr.slice(-3, myStr.length)); // !!! trace(myStr.slice(-8, -3)); // Texas
slice() メソッドの機能は substring() メソッドと類似しています。2 つの負でない整数をパラメータとして与えた場合、両方のメソッドは完全に同じ働きをします。ただし、slice() メソッドの場合は負の整数をパラメータとして使用できます。
|
メモ |
|
|
indexOf() メソッドおよび lastIndexOf() メソッドを使用して、次の例のように、ストリング内で一致するサブストリングを見つけることができます。
var myStr:String = "The moon, the stars, the sea, the land";
trace(myStr.indexOf("the")); // 10
trace(myStr.indexOf("the", 11)); // 21
indexOf() メソッドでは大文字小文字を区別するため、単語 "the" の最初のインデックスは 10 番目の文字で始まります。そのため、"The" の最初のインスタンスは考慮されません。indexOf() メソッドに 2 番目のパラメータを指定して、検索を開始するストリング内のインデックス位置を指示することもできます。上記のコードでは、Flash は 11 番目の文字以降に出現する単語 "the" の最初のインデックスを検索します。
trace(myStr.lastIndexOf("the")); // 30
trace(myStr.lastIndexOf("the", 29)); // 21
lastIndexOf() メソッドは、ストリング内の最後のサブストリングを検索します。つまり、lastIndexOf() は文字またはサブストリングをストリングの最初から検索するのではなく、ストリングの最後から始めて逆方向へと検索します。indexOf() メソッドと同じように、lastIndexOf() メソッドに 2 番目のパラメータを指定すると、インデックス位置から検索が行われます。ただし、lastIndexOf() の場合は逆方向 (右から左) に検索が行われる点が異なります。
|
ヒント |
|
|
選択されたストリングとサブストリングを比較および取得する簡単なワードプロセッサを作成する方法を示す、サンプルのソースファイル "strings.fla" については、Flash サンプルページ (www.adobe.com/go/learn_fl_samples_jp) を参照してください。"Samples" zip ファイルをダウンロードし解凍して、"ActionScript2.0/Strings" フォルダに移動してサンプルにアクセスします。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000951.html