C# - よく使うクラス - System.string - その他

クラウディア 
1. 概要
2. Format 書式指定
3. Compare 比較
4. Replace 置換
5. Length 文字数

1. 概要

 前ページまでで説明したもの以外のメソッドをまとめてメモしています。

2. Format 書式指定

 とりあえず、

string.Format("ほにゃほにゃ");
 で、いきなり書式指定した文字列が書けます。  この場合「string」っていう宣言なしに使えるので便利。  引数がある場合は

string.Format("{0}", 引数1);
 のように書きます。  引数は、「{0}」から始まって、シリアルに数字を増やしていきます。  イマドキの言語ですから、引数の型にあわせて良きようにはからって出力してくれます。  書式指定することも可能。  ただし、これまで学んだ「C 言語」の資産は、ほぼぶち壊しです。  必要で、自分が知りたいことだけ書きます。  10進で、ゼロパディングして出力する場合は

string.Format("{0:D2}", 引数1);
 て感じで書きます。  「D」が「Decimal」(?)、後ろの「2」は桁数なので、ゼロパディングする数に合わせて書きます。

3. Compare 比較

 オーバーロードされる関数は、数多くあるようですが、わたしが一番使うのは

string.Compare(String, String);
 ですかな。  2つの文字列を比較します。  「偉大なるマイクロソフトさま」の説明では、「指定した 2 つの String オブジェクトを比較し、それらの相対位置を並べ替え順序で示す整数を返します」って書いてありますが。  わけわかんないですね。

string.Compare(a, b);
 とやって、「a」が大きけりゃプラス、「b」が大きけりゃマイナス、同じであれば「0」が返ると思っておくのが理解しやすい。  文字列のからむソートにも使えます。  「if」文等の中にぶちこくときに、ときどき戸惑います。  「int」あたりに比べると、ちょっとわかりにくのでね。  こんな風に覚えます。

using System;
using System.Text.RegularExpressions;

public class String05
{
    static public void Main ()
    {
		int    [] intValue = new int[3]   {  1,   2,   3  };
		string [] strValue = new string[3]{ "1", "2", "3" };

		if ((intValue[0] < intValue[1]) && (intValue[1] < intValue[2]))
		{
			Console.WriteLine(@"["+ intValue[1] +@"] は ["+ intValue[0] +@"] と ["+ intValue[2] +@"] の間にあります");
		}

		if ((string.Compare(strValue[0], strValue[1]) < 0) && (string.Compare(strValue[1], strValue[2]) < 0))
		{
			Console.WriteLine(@"["+ strValue[1] +@"] は ["+ strValue[0] +@"] と ["+ strValue[2] +@"] の間にあります");
		}
	}
}
 2つの変数の位置関係と、符号の向きが一致することで覚えようとします。  ちなみに、これを実行すると下記の結果が得られます。  見た目、1行目と2行目が全く同じです。

[2] は [1] と [3] の間にあります
[2] は [1] と [3] の間にあります

4. Replace 置換

 オーバロードするものが4つあるようですが、わたしが一番使うのは

string.Replace(string1, string2);
 「string」文字内の部分文字列「string1」を部分文字列「string2」に置換します。

5. Length 文字数

 「Length」は、メソッドでなく、プロパティです。  バイト数でなく、文字数を表現するのでご注意。

using System;

public class String05
{
    static public void Main ()
    {
		string strgin1 = "12345";
		string string2 = "12345";

		Console.WriteLine(@"["+ strgin1 +@"] 文字数 ["+ strgin1.Length +@"]");
		Console.WriteLine(@"["+ string2 +@"] 文字数 ["+ string2.Length +@"]");
	}
}
 をコンパイル・リンクして、実行すると下記の結果が得られます。

[12345] 文字数 [5]
[12345] 文字数 [5]
AbemaTV 無料体験