Day9 文字列操作・練習問題と解答解説
Day9 で学んだ Length / Substring / Split / Replace / Trim / ToUpper / ToLower / StringBuilder をしっかり定着させるための練習問題と、 初心者でも理解しやすい丁寧な解答・解説をまとめています。 文字列操作は実務でも頻繁に使われるため、ここで確実に身につけておくことが重要です。
Length の練習問題
問題
文字列 text に “HelloWorld” が入っています。文字数を表示してください。
解答と解説
string text = "HelloWorld";
Console.WriteLine(text.Length);
C#Length は「文字列の長さ」を返すプロパティです。 括弧は不要で、text.Length() のようには書きません。 パスワードの長さチェックなどで頻繁に使われます。
Substring の練習問題
問題
文字列 code に “ABCDEFG” が入っています。3文字目から3文字分(CDE)を取り出して表示してください。
解答と解説
string code = "ABCDEFG";
string part = code.Substring(2, 3);
Console.WriteLine(part);
C#Substring(開始位置, 取り出す長さ) で部分文字列を取得します。 開始位置は 0から始まる ため、2 は「3文字目」を意味します。
Split の練習問題
問題
文字列 csv に “Taro,20,Tokyo” が入っています。Split を使って分割し、3つの要素をそれぞれ表示してください。
解答と解説
string csv = "Taro,20,Tokyo";
string[] items = csv.Split(',');
Console.WriteLine(items[0]);
Console.WriteLine(items[1]);
Console.WriteLine(items[2]);
C#Split は「区切り文字で分割して配列を返す」機能です。 CSVデータの処理で必須となります。
Replace の練習問題
問題
文字列 text に “I like apple.” が入っています。apple を orange に置き換えて表示してください。
解答と解説
string text = "I like apple.";
string result = text.Replace("apple", "orange");
Console.WriteLine(result);
C#Replace は「該当するすべての文字列を置き換える」機能です。 複数の apple があっても一括で変更できます。
Trim の練習問題
問題
文字列 name に ” Taro ” が入っています。前後の空白を取り除いて表示してください。
解答と解説
string name = " Taro ";
string result = name.Trim();
Console.WriteLine(result);
C#Trim は「前後の空白」を除去します。 ユーザー入力の前処理として非常に重要です。
ToUpper / ToLower の練習問題
問題
文字列 word に “Apple” が入っています。大文字化と小文字化した結果を表示してください。
解答と解説
string word = "Apple";
Console.WriteLine(word.ToUpper());
Console.WriteLine(word.ToLower());
C#検索処理で「大文字・小文字を区別しない」ために使われます。
StringBuilder の練習問題
問題
StringBuilder を使って “Hello” と “World” を連結し、”Hello World” を表示してください。
解答と解説
using System.Text;
StringBuilder sb = new StringBuilder();
sb.Append("Hello");
sb.Append(" ");
sb.Append("World");
Console.WriteLine(sb.ToString());
C#StringBuilder は「大量の文字列連結」を高速に処理できます。 ログ生成やレポート作成などで必須です。
応用問題:CSVデータの分割と整形
問題
文字列 csv に ” Taro , 20 , Tokyo ” が入っています。 Split と Trim を使って整形し、 名前・年齢・都市をそれぞれ表示してください。
解答と解説
string csv = " Taro , 20 , Tokyo ";
string[] items = csv.Split(',');
string name = items[0].Trim();
string age = items[1].Trim();
string city = items[2].Trim();
Console.WriteLine(name);
Console.WriteLine(age);
Console.WriteLine(city);
C#Split で分割 → Trim で空白除去という流れは、 外部データ処理で非常に重要です。
応用問題:パスワード強度チェック(簡易版)
問題
文字列 password に “Abc123” が入っています。 次の条件をチェックして結果を表示してください。
長さが8文字以上 大文字を含む 小文字を含む 数字を含む
解答と解説
string password = "Abc123";
bool hasUpper = password != password.ToLower();
bool hasLower = password != password.ToUpper();
bool hasDigit = false;
for (int i = 0; i < password.Length; i++)
{
if (char.IsDigit(password[i]))
hasDigit = true;
}
bool isLongEnough = password.Length >= 8;
Console.WriteLine("大文字: " + hasUpper);
Console.WriteLine("小文字: " + hasLower);
Console.WriteLine("数字: " + hasDigit);
Console.WriteLine("長さ8以上: " + isLongEnough);
C#ToUpper / ToLower を使った判定は非常に強力です。 数字判定は char.IsDigit を使うと安全で確実です。
Day9 練習問題まとめ
Day9 の練習問題では、次のポイントを確認しました。
Length → 文字数を取得 Substring → 部分文字列を取り出す Split → 区切り文字で分割 Replace → 文字列の置き換え Trim → 前後の空白を除去 ToUpper / ToLower → 大文字・小文字変換 StringBuilder → 高速な文字列連結
これらを組み合わせることで、 CSVデータの整形やパスワードチェックなど、 実務レベルの文字列処理ができるようになります。
