Wiki がページ「C Sharpの基本(文字列)」を「C Sharpの基礎 - 文字列」に、リダイレクトを残さずに移動しました
374行目: 374行目:
  }
  }
  </source>
  </source>
<br><br>
== StringBuilderクラス ==
C#において、文字列を+で繋ぐ方法は処理に負担が掛かるため、速度を重視する場合は、StringBuilderクラスを使用する。<br>
StringBuilderクラスのAppendメソッドを使用する場合、数100倍以上、処理速度が向上することがある。<br>
<syntaxhighlight lang="c#">
using System.Text
StringBuilder stb = new StringBuilder("今日の日付 : ");
stb.Append(DateTime.Today);
stb.Append("\n");
Console.WriteLine(stb.ToString());
</syntaxhighlight>
<br><br>
== 文字列の検索 ==
==== 前方一致 ====
文字列に特定の文字がどの位置に含まれているか確認する場合、IndexOfメソッドを使用する。<br>
以下の例では、"あいうえお"の中に"う"は先頭の文字(0番目)から数えて2番目、"えお"は3番目、"か"および"いか"は存在しないため-1となる。<br>
<syntaxhighlight lang="c#">
string str = "あいうえお";
Console.WriteLine(str.IndexOf("う"));
Console.WriteLine(str.IndexOf("えお"));
Console.WriteLine(str.IndexOf("か"));
Console.WriteLine(str.IndexOf("いか"));
# 出力
2
3
-1
-1
</syntaxhighlight>
<br>
==== 前方一致と後方一致 ====
文字列の検索において、前方一致や後方一致を指定して検索する場合、以下のように記述する。<br>
<syntaxhighlight lang="c#">
string filename = “”abcde.txt””;
if (filename.StartsWith("ab"))
{
    Console.WriteLine("前方一致");
}
if (filename.EndsWith(".txt"))
{
    Console.WriteLine("後方一致");
}
</syntaxhighlight>
<br><br>
== 空文字またはnullの確認 ==
空文字の確認を行う場合、String.Emptyメソッドを使用する。
また、空文字またはNULLの確認を行う場合、String.IsNullOrEmptyメソッドを使用する。<br>
<syntaxhighlight lang="c#">
string str = "";
if (str == String.Empty)
{
    Console.WriteLine("空文字です。");
}
str = null;
if (String.IsNullOrEmpty(str))
{
    Console.WriteLine("nullか空文字です。");
}
</syntaxhighlight>
<br>
また、空白文字またはNULLの確認を行う場合、String.IsNullOrWhiteSpaceメソッドを使用する。<br>
<syntaxhighlight lang="c#">
string str = "";
if (String.IsNullOrWhiteSpace(str))
{
    Console.WriteLine("nullか空白です。"");
}
</syntaxhighlight>
<br><br>
== 文字列の分割と結合 ==
文字列を指定した文字で区切り、区切った文字列を結合する。<br>
<syntaxhighlight lang="c#">
string csv1 = "あああ,いいい,ううう";
// Splitメソッドで区切って配列aryValuesに変換
string[] aryValues = csv.Split(",");
foreach(var value in aryValues)
{
    Console.WriteLine(value);
}
// JoinメソッドでCSV形式に変換
string csv2 = String.Join(",", ary);
Console.WriteLine(join);
# 出力
あああ
いいい
ううう
あああ,いいい,ううう
</syntaxhighlight>
<br><br>
== 文字列の部分抽出と部分削除 ==
==== 部分抽出 ====
文字列から一部を抽出する場合、以下のように記述する。<br>
以下の例では、0番目の文字から数えて2番目の文字から2文字を抽出している。<br>
<syntaxhighlight lang="c#">
string str = "あいうえお";
Console.WriteLine(str.Substring(2, 2));
# 出力
うえ
</syntaxhighlight>
<br>
==== 部分削除 ====
文字列の前後の空白やエスケープシーケンスを削除する場合、以下のように記述する。<br>
以下の例では、文字列の前後の全角半角スペースとエスケープシーケンスを削除しているが、途中にあるものは残ってしまう。<br>
<syntaxhighlight lang="c#">
string str = "\t あ\nい う えお \n";
Console.WriteLine("." + str.Trim() + ".");
# 出力
.あ
い う えお.
</syntaxhighlight>
<br>
以下の例では、指定した範囲を削除している。<br>
0番目の文字から数えて、1番目から3番目の文字を削除している。<br>
<syntaxhighlight lang="c#">
string str = "あいうえお";
Console.WriteLine(str.Remove(1,3));
# 出力
あお
</syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:C_Sharp]]
[[カテゴリ:C_Sharp]]