文字列操作関数_Flash
文字列操作関数
数値を文字列に変換したり、その逆などよく使う関数を説明します。
文字列を変数に代入(新規作成)
str = "testです。";
代入する場合も上記指定でOKです。このあたりはJavaライクですね。
文字列の長さを取得
str = "testです。"; len = str.lengh;
この場合、lenに7が入ります。2バイト文字は1として数えられます。
指定番目の文字を取得
chDat = str.charAt(0);
引数は文字列内のインデックスです。指定された位置での文字を返します。
文字列検索
str = "testです。"; iPos = str.indexOf("st");
indexOfにて文字列を検索します。見つかった文字位置を返します(上記の場合は2がiPosに返る)。見つからなかった場合は-1が返ります。
後ろから文字列検索
str = "testです。"; iPos = str.lastIndexOf("st");
後ろから文字列検索をします。上記の場合は2が返ります。
指定範囲の文字列を取り出し
str = "testです。"; sDat = str.slice(0, 4);
インデックス0〜(4-1)の文字列を取り出します。上記の場合、sDatに「test」が入ります。第一引数が開始位置、第二引数にて終了位置+1を指定します。
文字列の取り出し
str = "testです。"; sDat = str.substr(2, 2);
「slice」に似ていますが、「substr」は第一引数にて開始位置、第二引数にて取り出す文字列数を指定します。上記の場合、インデックス2つめから2文字分を取り出します(sDatに「st」が入る)。
大文字を小文字に変換
str2 = str.toLowerCase();
小文字大文字に変換
str2 = str.toUpperCase();
文字列を数値に変換
文字列を数値に変換するには、「parseInt」関数を使用します。
cou = parseInt("12");
この場合、文字列として12が存在しますが、「parseInt」にてcouに「数値としての」12が入ります。
数値を文字列に変換
数値を文字列に変換するには、「String(x)」を使用する方法と、数値変数の「toString()」メンバ関数を使用する方法があります。
cou = 12; str = String(cou);
上記の場合、strに文字列としての"12"が入ります。以下のように記述することもできます。
cou = 12; str = cou.toString();
また、数値を16進数で取得したい場合は、「toString(16)」のように記述します。
cou = 12; str = cou.toString(16);
結果、strには"c"が入ります。
文字列の分解(split)
コンマなどで区切られた文字列を分解します。分解のための文字(もしくは文字列)はなんでもかまいません。
たとえば、「one,two,three,four,five」という文字列が変数strに入っていたとして、これを分解します。
str = "one,two,three,four,five"; ar = str.split(","); for(i = 0; i < ar.length; i++) { trace(ar[i]); }
分解は「split」関数で行います。第一引数の分解のための文字を指定します。この場合はコンマで区切ります。結果は配列(ここではar)として返されます。
ar.lengthは配列の要素数、ar[i]はそれぞれの配列の中身を取り出しています。上記の結果は以下のように出力されます。
one two three four five
この関数は、特にCGIからデータを取得してきたときにその文字列要素を分解するといった用途で使用できるかと思います。
Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.