Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -JavaScriptで文字列操作-

文字列に関する色々です

●文字列変数の宣言と定義
var s : String = "文字列";

●文字列の足し算
var a : String = "文字列A";
var b : String = "文字列B";
var c : String;

c = a + b;

●文字列の長さ
var a : String = "文字列A";
var b : int;

b = a.Length;
文字数が返ります。上の例だと4になります

●文字列の部分取り出し
var a : String = "文字列A";
var b : String;

b = a.Substring(「開始位置」,「取り出す文字数」);
開始位置は0から始まる

例)先頭から2文字
b = a.Substring(0, 2);
bには「文字」が入る

例)4文字目から1文字
b = a.Substring(3, 1);
bには「A」が入る

●特定の文字列で分割
var a : String = "文字列A\n文字列B";
var b : String[] = a.Split("\n"[0]);
var c : String;

c = b[0];
cには「文字列A」が入ります

Splitに記述する文字列には[0]を付ける必要があるそうです(.NETの慣習?)
戻り値は配列ですので,上の例のように直接変数を生成するべきです
↓こういう風に書くとエラーになります
var b : String;
b = a.Split("\n"[0]); ←配列を通常の変数に入れようとしている
↓宣言と代入を分けて書くならこう
var b : String[];
b = a.Split("\n"[0]);

●文字列比較
何も入っていない状態は『null』です
var a : String;
if(a == null){
	print("空です");
}
if(a == ""){
	//通らない
}
空欄を入れた場合は『""』です
var a : String = "";
if(a == null){
	//通らない
}
if(a == ""){
	print("空欄です");
}

●数値を文字列に代入
var a : float = 3.141592;
var b : String;

b = "" + a;

●文字を数値に代入
整数型の場合は
var a : String = "-2048";
var b : int;

b = parseInt(a);

※aに数字以外が含まれていてはいけない

浮動小数点型の場合は
var a : String = "-3.141592";
var b : float;

b = parseFloat(a);
※aに数字以外が含まれていてはいけない

●文字列検索
var a : String = "文字列A\n文字列B";
var b : int;

b = a.IndexOf("\n");
※先頭を0とするので,4が返る
※指定文字列が存在しなかった場合は -1が返る

●デバッグ出力
var debug : String = "デバッグ文字列";
print(debug);
※Consoleウィンドウは,メニューの Window→Consoleで表示されます


TOPプログラマ専用Unityでゲーム開発

Melonbooks DL