読者です 読者をやめる 読者になる 読者になる

(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

文字列を1文字ずつ列挙、文字が数字か否か、パディング【C#】

C#

このエントリーをはてなブックマークに追加

C#関連で記事のするほどじゃないけど、まとめておきたいモノを複数列挙する感じの記事です。

Tipsみたいなものなのでそれぞれに関係はありません。


文字列を1文字ずつ列挙

文字列を一文字ずつ列挙するには以下のようにします。

string str = "abc";
foreach (char c in str)
{
    Debug.Log(c);
}

a
b
c


文字列から1文字取得する、文字列内の文字を列挙する: .NET Tips: C#, VB.NET


str[0]みたいな感じでも取り出せます。


文字が数字か否か

ある文字が数字か否かを判断するには以下のようにします。


IsNumber

if (char.IsNumber('5')) {

}
if (char.IsNumber("AB3DEF", 2)) {

}



文字列の場合は、第二引数で何番目の文字を判定するかを指定します。

この方法だと、全角半角、漢数字やローマ数字まで数字とみなします。


TryParse

string str = "15";
int i = 0;

if (int.TryParse(str, out i)){
  Debug.Log(str + "は数字です");
  Debug.Log(i); //iにstrをint型に変換したものが入る
}
else{
  Debug.Log(str + "は数字ではありません");
}

15は数字です
15


文字列が数値に変換できるか調べる: .NET Tips: C#, VB.NET


こちらは変換できるかどうかで判定する方法です。


パディング

文字列を一定に揃えたい時は以下の用にします。

//4桁で揃える
Debug.Log(string.Format("{0:D4}", 10));
Debug.Log(string.Format("{0:D4}", 100));
Debug.Log(string.Format("{0:D4}", 1000));

0010
0100
1000



10.ToString("D4")にしても同様の事ができます。

また、空白や他の文字で揃えたり、小数点以下の桁を揃えたりなんて事も可能です。