PR

【C#】Stringクラスで知っておくべきプロパティ・メソッド一覧

C#
この記事にはアフィリエイト広告および広告が含まれています。

文字列の操作でよく使うプロパティ、メソッドをまとめました。
他にもあれば、どんどん追記していきます。

文字列の長さを取得する

Lengthプロパティ

文字列の長さ(文字数)を取得するには、Lengthプロパティを使用します。

string str = "value";

// length = 5
int length = str.Length;

文字列内に指定の文字(列)が含むかどうか、判定する

Containsメソッド

文字列内に指定の文字、または文字列が含まれているか判定するためには、Containsメソッドを使用します。

string str1 = "こんにちは。";

// 引数 string型
if (str1.Contains("ちは"))
    Console.WriteLine("ちは が含まれています。");

// 引数 char型
if (str1.Contains('に'))
    Console.WriteLine("に が含まれています。");
ちは が含まれています。
に が含まれています。

ちなみに、IndexOfメソッドでも確認することができます。
文字列に含まれている文字(列)の位置を取得することができます。
含まれていない場合は”-1”が戻り値として返されるので、0以上の条件で検索をかけています。

string str1 = "こんにちは。";

// 引数 string型
if (str1.IndexOf("ちは") >= 0)
    Console.WriteLine("ちは が含まれています。");

// 引数 char型
if (str1.IndexOf('に') >= 0)
    Console.WriteLine("に が含まれています。");
ちは が含まれています。
に が含まれています。

StartsWithメソッド

先頭が指定の文字列かどうかを判定には、StartsWithメソッドを使用します。
3.の例では、第2引数にtrueを設定することで大文字・小文字を考慮せずに判定することができます。

string str = "Program Test Hello";

if (str.StartsWith("Prog"))
    Console.WriteLine("1.先頭文字列が一致します。");

if (str.StartsWith("PROG"))
    Console.WriteLine("2.先頭文字列が一致します。");

if (str.StartsWith("PROG", true, CultureInfo.CurrentCulture))
    Console.WriteLine("3.先頭文字列が一致します。");
1.後頭文字列が一致します。
3.後頭文字列が一致します。

EndWithメソッド

先頭が指定の文字列かどうかを判定には、EndWithメソッドを使用します。
3.の例では、StartWithメソッドと同様に大文字・小文字を考慮することなく、判定することができます。

string str = "Program Test Hello";

if (str.EndsWith("Hello"))
    Console.WriteLine("1.後頭文字列が一致します。");

if (str.EndsWith("HELLO"))
    Console.WriteLine("2.後頭文字列が一致します。");

if (str.EndsWith("HELLO", true, CultureInfo.CurrentCulture))
    Console.WriteLine("3.後頭文字列が一致します。");
1.後頭文字列が一致します。
3.後頭文字列が一致します。

文字列がnullか空文字か判定する

IsNullOrEmptyメソッド

文字列がnull、もしくは空文字かを調べるにはStringクラスのIsNullOrEmptyメソッドを使用します。

if (string.IsNullOrEmpty(str))
    Console.WriteLine("null もしくは 空文字です。");

Emptyプロパティ

文字列がnullでないことが確実であれば、Emptyメソッドで空文字かどうかを判定することもできます。また、Emptyメソッドの代わりに””で判定しても問題ありません。

if (str == string.Empty)
    Console.WriteLine("空文字です。");

// ""でもOK
if (str == "")
    Console.WriteLine("空文字です。");

IsNullOrWhiteSpaceメソッド【.Net Framework4.0以降】

.Net Framework 4.0以上の場合、IsNullOrEmptyメソッドで空白のみの文字列も判定することができます。

// null、""、" "(半角スペース)、 " "(全角スペース)がtrueで返される
if (string.IsNullOrEmpty(str))
    Console.WriteLine("null もしくは 空文字 もしくは 空白の文字列です。");

文字列の一部を取り出す方法

SubStringメソッド

文字列に含まれている一部分を取り出すにはSubStringメソッドを使用します。
第1引数:取り出し開始位置
第2引数:取り出し文字数(省略で開始位置から最後まで取得)

string str = "Program Test Hello";

// 0バイト目から7文字分取り出す
Console.WriteLine(str.Substring(0, 7));

// 8バイト目から4文字分取り出す
Console.WriteLine(str.Substring(8, 4));

// 13バイト目から最後まで取り出す
Console.WriteLine(str.Substring(13));
Program
Test
Hello

文字の位置といえば、IndexOfメソッドですね!
このように使うこともできます。

string str = "Program Test Hello";
string getStr = "Test";
int index = str.IndexOf(getStr);

Console.WriteLine(str.Substring(index, getStr.Length));

処理内容の説明です。
1行目:処理する文字列
2行目:取得する文字列
3行目:”Program Test Hello”から、”Test”の位置を取得し、index変数に格納
5行目:Substringメソッドindex変数の位置からgetStrのLength分を取り出し、コンソールに出力

まとめ

stringクラスのプロパティやメソッドについて、ご紹介いたしました。
文字列操作の手段としてさまざまありますので、ぜひ参考にしてみてください。

タイトルとURLをコピーしました