C# 入門 & 実践 / C sharp
4-15. 文字列操作 - 1 - 比較 インデックス
文字列比較
・比較処理には、Compare、CompareOrdinal、CompareTo、Equals、EndsWith、StartsWith の各メソッドを使用。
インデックス
・文字列内の部分文字列や Unicode 文字のインデックスを取得するには、IndexOf、IndexOfAny、LastIndexOf、LastIndexOfAny の各メソッドを使用。
文字列コピー
・文字列や部分文字列を別の文字列または Char 型の配列にコピーするには、Copy と CopyTo を使用。
・元の文字列の一部分から 1 つ以上の新しい文字列を作成するには、Substring メソッドと Split メソッドを使用。1 つ以上の部分文字列から新しい文字列を作成するには、Concat メソッドと Join メソッドを使用。
文字列変更
・文字列の全体または一部を変更するには、Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd、および TrimStart を使用。
・文字列内の Unicode 文字の大文字/小文字を変更するには、ToLower、ToLowerInvariant、ToUpper、ToUpperInvariant の各メソッドを使用。
・文字列中に設定された書式項目のプレースホルダを、対応する数値、日付、時刻、または列挙値のテキスト表現に置き換えるには、Format を使用。
・文字列内の Char オブジェクトの数を取得するには、Length プロパティを使用。文字列内の実際の Char オブジェクトにアクセスするには、Chars を使用。
・文字列が特定の正規形に正規化されているかを判定するには、IsNormalized メソッドを使用。特定の正規形に正規化された文字列を作成するには、Normalize メソッドを使用。
とこんなことが出来るようですね!
幾つか見ていきましょう。
文字列比較
なんか3種類あって・・・なんでしょう?
返り値が違うのとstaticかどうかですね。
static void Main()
{
string iroha = "ABCいろは";
string aiu = "ABCあいう";
int ret = 0;
// String クラスの メソッドを利用
// Compare() : 文字列比較
ret = String.Compare(iroha, aiu);
Console.WriteLine(" Compare : {0}", ret);
// Compare() : 文字列比較!
ret = aiu.CompareTo(iroha);
Console.WriteLine(" CompareTo : {0}", ret);
// Equals() : 文字列比較!
bool ret_bool = iroha.Equals(aiu);
Console.WriteLine(" Equals : {0}", ret_bool);
// StartWith() : 開始文字列を比較
ret_bool = iroha.StartsWith("ABC");
Console.WriteLine(" StartsWith : {0}", ret_bool);
// EndWith() : 終了文字列を比較
ret_bool = iroha.EndsWith("いろは");
Console.WriteLine(" EndsWith : {0}", ret_bool);
}
Compare : 1
CompareTo : -1
Equals : False
StartsWith : True
EndsWith : True
インデックス
static void Main()
{
string iroha = "ABCいろはABC";
string aiu = "ABCあいう";
int ret = 0;
// IndexOf : 何文字目?
ret = iroha.IndexOf('い');
Console.WriteLine(" IndexOf : {0}", ret);
// インデクサで char を返す。
char x = iroha[ret];
Console.WriteLine(" iroha[{0}] : {1}", ret, x);
// IndexOfAny() : char配列から始まるのは何文字目?
char[] c = {'B','C'} ;
ret = iroha.IndexOfAny(c);
Console.WriteLine(" IndexOfAny : {0}", ret);
// LastIndexOf : 最後に出てくるのは何文字目?
ret = iroha.LastIndexOf("B");
Console.WriteLine(" LastIndexOf : {0}", ret);
}
IndexOf : 3
iroha[3] : い
IndexOfAny : 1
LastIndexOf : 7
とこんな感じで。
4-14. 文字列 «
4. C# 入門 Level 2 »
4-16. 文字列操作 - 2 - コピーと変換
C# 入門 & 実践 / C sharp