C# 文字列を操作するサンプル

C#の文字列を操作するサンプルです。

目次

結合する 文字列を結合する(+演算子)
  文字列を結合する(Concat)
  配列の値を区切り文字を指定して繋げる(Join)
追加する 文字列を追加する(Insert)
  文字を繰り返して作成する
  頭ゼロを追加する(PadLeft)
取得する 指定した位置の文字を取得する(Substringメソッド)
  文字の位置を返す(IndexOfメソッド)
  文字列の始めを確認する(StartsWithメソッド)
  文字列の終わりを確認する(EndsWithメソッド)
  文字列の長さを取得する(Lengthプロパティ)
  文字列がnullまたは空文字か確認する(IsNullOrEmptyメソッド)
削除する 文字列を削除する(Remove)
  文字列の先頭と末尾の空白を削除する(Trimメソッド)
置き換える 文字列を置き換える(Replace)
分割する 文字列を分割して配列にする(Split)
変換する 数値(int)を文字列にする(ToStringメソッド)
  文字列を数値(int)にする(Parseメソッド)
  英字の大文字と小文字を変換(ToUpper/ToLowerメソッド)

文字列を結合する(+演算子)

文字列を結合するサンプルです。

using System;
class Test1
{
    static void Main()
    {
        // リテラル文字列を結合
        Console.WriteLine("あ" + "い"); //あいと出力される

        // 変数の値を結合
        string a  = "う";
        string b  = "え";

        Console.WriteLine(a + b); //うえと出力される 
    }
}

7行目は、+演算子で文字列のリテラルを結合しています。
13行目は、+演算子で変数どうしを結合しています。

文字列を結合する(Concat)

文字列を結合するサンプルです。

using System;
class Test1
{
    static void Main()
    {
        // 変数の値を結合
        string a  = "赤";
        string b  = "黄";
        string c  = "青";

        Console.WriteLine(string.Concat(a, b)); //赤黄
        Console.WriteLine(string.Concat(a, b, c)); //赤黄青
    }
}

11行目は、Concatメソッドで文字列を結合しています。
12行目のように3つ以上の文字列の結合も可能です。

配列の値を区切り文字を指定して繋げる(Join)

配列の値を区切り文字を指定して繋げるサンプルです。

using System;

class Test1
{
    static void Main()
    {
        var c1 = new string[] { "赤", "黄", "青" };

        string a = String.Join("-", c1);

        Console.WriteLine(a);    // 赤-黄-青
    }
}

9行目は、joinメソッドで配列の値を区切り文字をハイフン(-)にして文字列にしています。

文字列を追加する(Insert)

文字列を結合するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        var c1 = "赤黄青";

        Console.WriteLine(c1.Insert(2, "オレンジ")); // 赤黄オレンジ青
    }
}

9行目は、文字列を追加しています。最初の引数は追加する位置です。
位置は0から始まります。

文字を繰り返して作成する

文字を繰り返して作成するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        var c1 = new string('あ', 3);
        Console.WriteLine(c1); // あああと出力される

        var c2 = "";
        for (int i = 0; i < 3; i++)
        {
            c2 += "い";
        }
        Console.WriteLine(c2); // いいいと出力される
    }
}

7行目は、stringクラスのコンストラクタで1つめの引数の文字を2つめの引数の数だけ繰り返します。
11~14行目は、For文で文字を繰り返して表示しています。

頭ゼロを追加する(PadLeft)

頭ゼロを追加するサンプルです。

using System;

class Test1
{
	static void Main()
	{
		string a = "9";
		Console.WriteLine(a.PadLeft(3, '0')); // 009
		Console.WriteLine(a.PadLeft(5, '0')); // 00009

		string b = "90";
		Console.WriteLine(b.PadLeft(3, '0')); // 090
		Console.WriteLine(b.PadLeft(5, '0')); // 00090
	}
}

PadLeftメソッドの1つめの引数は、桁数です。
指定した桁数内で、2つめの引数の値が頭に追加されます。
padは、詰め物という意味です。

指定した位置の文字を取得する(Substringメソッド)

指定した位置の文字を取得するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "あいうえお";
        Console.WriteLine(a.Substring(0, 1)); // あと出力される
        Console.WriteLine(a.Substring(1, 1)); // いと出力される
        Console.WriteLine(a.Substring(2, 1)); // うと出力される

        Console.WriteLine(a.Substring(0, 2)); // あいと出力される
        Console.WriteLine(a.Substring(1, 2)); // いうと出力される
    }
}

Substringメソッドの1つめの引数は、開始位置です。
2つめの引数は取得する文字数です。
最初の文字の位置は 0 です。

文字の位置を返す(IndexOfメソッド)

文字の位置を返すサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "あいうabc";
        Console.WriteLine(a.IndexOf("い")); // 1と出力される
        Console.WriteLine(a.IndexOf("b"));  // 4と出力される
        Console.WriteLine(a.IndexOf("か")); // -1と出力される
    }
}

8,9行目は、IndexOfメソッドで引数の文字の位置を返します。
最初の文字は、0から始まります。
10行目は、対象の文字列に指定の文字がありません。その場合は-1が返ります。

文字列の始めを確認する(StartsWithメソッド)

文字列の始めを確認するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "あいうabc";
        Console.WriteLine(a.StartsWith("あいう")); //Trueと出力される
        Console.WriteLine(a.StartsWith("あいえ")); //Falseと出力される
    }
}

8行目は、StartsWithメソッドで「あいう」から始まる文字列か確認しています。Trueになります。
9行目は、文字列「あいえ」で始まっていないのでFalseになります。

文字列の終わりを確認する(EndsWithメソッド)

文字列の終わりを確認するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "あいうabc";
        Console.WriteLine(a.EndsWith("abc")); //Trueと出力される
        Console.WriteLine(a.EndsWith("abd")); //Falseと出力される
    }
}

8行目は、EndsWithメソッドで「abc」で終わる文字列か確認しています。Trueになります。
9行目は、文字列「abd」で終わっていないのでFalseになります。

文字列の長さを取得する(Lengthプロパティ)

文字列の長さを取得するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "あいうabc";
        Console.WriteLine(a.Length); //6と出力される

        string b = "";
        Console.WriteLine(b.Length); //0と出力される
    }
}

8行目は、Lengthで文字列の長さを取得しています。
11行目のように空文字のときは0が返ります。

文字列がnullまたは空文字か確認する(IsNullOrEmptyメソッド)

文字列がnullまたは空文字か確認するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = null;
        string b = "";

        if (string.IsNullOrEmpty(a))
        {
            Console.WriteLine("nullです"); //nullですと出力される 
        }
        if (string.IsNullOrEmpty(b))
        {
            Console.WriteLine("空です"); //空ですと出力される
        }
    }
}

7行目は、変数にnullセットしています。
8行目は、空文字をセットしています。
10,14行目はそれぞれIsNullOrEmptyメソッドで判定しています。該当するのでTrueが返ります。

文字列を削除する(Remove)

文字列を削除するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "あいうえお";

        Console.WriteLine(a.Remove(2, 1)); //あいえおと出力される
        Console.WriteLine(a.Remove(2, 2)); //あいおと出力される 
        Console.WriteLine(a.Remove(2, 3)); //あいと出力される 
    }
}

9~11行目は、文字列の文字を削除しています。
1つ目の引数は開始の位置で、2つめの引数は削除する文字数です。
開始の位置は0から始まります。

文字列の先頭と末尾の空白を取り除く(Trimメソッド)

文字列の先頭と末尾の空白を取り除くサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = " ABCabc ";

        Console.WriteLine(a.Trim());      //前後の半角空白を削除
        Console.WriteLine(a.TrimStart()); //先頭の半角空白を削除 
        Console.WriteLine(a.TrimEnd());   //末尾の半角空白を削除
    }
}

7行目は、文字列の前後に半角空白があります。
9行目は、Trimメソッドで文字列の前後の空白を削除しています。
10行目のTrimStartは先頭の半角空白を削除します。
11行目のTrimEndは末尾の半角空白を削除します。

文字列を置き換える(Replace)

文字列を置き換えるサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "赤黄青";

        Console.WriteLine(a.Replace("黄", "オレンジ"));//赤オレンジ青
    }
}

9行目は、Replaceメソッドで値を指定して文字列を置き換えています。

文字列を分割して配列にする(Split)

文字列を分割して配列にするサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "赤,黄,青";
        string[] b = a.Split(',');

        foreach (string c in b)
        {
            Console.WriteLine(c);// 赤 黄 青
        }
    }
}

8行目は、splitメソッドでカンマ区切りで値を配列にしています。

数値(int)を文字列にする(ToStringメソッド)

数値(int)を文字列にするサンプルです。

using System;

class Test1
{
    static void Main()
    {
        int a = 12345;
        if (a is int b)
        {
            Console.WriteLine("int"); // int
            Console.WriteLine(b);     // 12345
        }

        string c = a.ToString();
        if (c is string d)
        {
            Console.WriteLine("string"); // string
            Console.WriteLine(d);        // 12345
        }
    }
}

isはデータ型を調べることができます。
8行目は、変数aがint型のとき、変数aの値が変数bに代入されます。
14行目は、ToStringメソッドで数値を文字列にしています。
15行目は、変数cがstring型のとき、変数cの値が変数dに代入されます。

文字列を数値(int)にする(Parseメソッド)

文字列を数値(int)にするサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "12345";
        if (a is string b)
        {
            Console.WriteLine("string"); // string
            Console.WriteLine(b);     // 12345
        }

        int c = int.Parse(a);
        if (c is int d)
        {
            Console.WriteLine("int"); // int
            Console.WriteLine(d);        // 12345
        }
    }
}

isはデータ型を調べることができます。
8行目は、変数aがint型のとき、変数aの値が変数bに代入されます。
14行目は、ToStringメソッドで数値を文字列にしています。
15行目は、変数cがstring型のとき、変数cの値が変数dに代入されます。

英字の大文字と小文字を変換(ToUpper/ToLowerメソッド)

英字の大文字と小文字を変換するサンプルです。

using System;

class Test1
{
    static void Main()
    {
        string a = "ABCabcあいう";

        Console.WriteLine(a.ToUpper()); // ABCABCあいうと出力される
        Console.WriteLine(a.ToLower()); // abcabcあいうと出力される
    }
}

7行目は、英字の大文字と小文字と全角文字があります。
9行目は、ToUpperメソッドで英字の小文字を大文字にしています。全角文字は変わっていません。
10行目は、ToLowerメソッドで英字の大文字を小文字にしています。全角文字は変わっていません。

関連の記事

VB.NET For文 処理を繰り返す(Exit/Continue)

△上に戻る