HOWTO · Csharp

C# で文字列を改行で分割する

このチュートリアルでは、C# で改行で文字列を分割する方法を見ていきます。

この記事では、C# で特定の文字を使用して改行で文字列を分割する方法を紹介します。

改行で文字列を分割する方法は 2つあり、同じように機能します。これらについては、次のセクションで説明および実装します。

C# で文字列を改行で分割するには String.Split() を使用する

まず、例で使用されているすべてのメソッドと関数にアクセスするために、システムライブラリをインポートする必要があります。

using System;

次に、クラス SplitStringNLine を作成し、このクラス内に Main() メソッドを作成します。

public class SplitStringNLine {
  public static void Main(string[] args) {}
}

改行で分割できる文字列が必要です。それでは、stringToBeSplit という名前の変数を初期化し、Split() メソッドが利用するランダムな文を与えましょう。

string stringToBeSplit =
    "C Sharp " + "is " + "A " + "Programming " + "Language " + "available " + "globally.";

ランダムな文字列を初期化した後、分割された文字列の値を保持するための変数が必要になります。

string[] splitString;

次に、この変数に stringToBeSplitSplit() 関数で割り当て、文字列 r を渡して初期化する必要があります。r 文字に遭遇するとすぐに、Split() メソッドを使用して文字列を新しい行に分割します。

splitString = stringToBeSplit.Split("r");

元の文字列をユーザーに提示しましょう。

Console.WriteLine("String to be Split");
Console.WriteLine(stringToBeSplit);

次に、分割文字列を出力する必要があります。文字列を分割するたびにコンソールに表示する必要があるため、ここではループを使用する必要があります。

文字列をチェックして各反復後に表示する foreach ループを使用し、分割プロセスが終了すると自動的に終了します。

Console.WriteLine("\nSplit string by the *r* character:");
foreach (string str in splitString) {
  Console.WriteLine(str);
}

ソースコード:

using System;

public class SplitStringNLine {
  public static void Main(string[] args) {
    string stringToBeSplit =
        "C Sharp " + "is " + "A " + "Programming " + "Language " + "available " + "globally.";

    string[] splitString;
    splitString = stringToBeSplit.Split("r");
    Console.WriteLine("String to be Split");
    Console.WriteLine(stringToBeSplit);
    Console.WriteLine("\nSplit string by the *r* character:");
    foreach (string str in splitString) {
      Console.WriteLine(str);
    }
  }
}

出力:

String to be Split
C Sharp is A Programming Language available globally.

Split string by the *r* character:
C Sha
p is A P
og
amming Language available globally.

C#Regex.Split() を使用して改行で文字列を分割する

このメソッドでは、コードの先頭に追加のインポートが必要です。

using System.Text.RegularExpressions;

次の手順は、分割操作まで前のセクションで説明した手順と同様です。ただし、Regex クラスを Split() 関数とともに使用し、2つの必須引数を渡します。

1つは分割する文字列 stringToBeSplit で、もう 1つは文字列を分割する必要がある文字です。残りのすべての手順は同じで、元の文字列と分割された文字列の情報が表示されます。

ソースコード:

using System;
using System.Text.RegularExpressions;

public class SplitStringNLine {
  public static void Main(string[] args) {
    string stringToBeSplit =
        "C Sharp " + "is " + "A " + "Programming " + "Language " + "available " + "globally.";
    string[] splitString;
    splitString = Regex.Split(stringToBeSplit, "r");
    Console.WriteLine("String to be split");
    Console.WriteLine(stringToBeSplit);
    Console.WriteLine();

    Console.WriteLine("\nSplit string by the *r* character:");
    foreach (string str in splitString) {
      Console.WriteLine(str);
    }
  }
}

出力:

String to be split
C Sharp is A Programming Language available globally.

Split string by the *r* character:
C Sha
p is A P
og
amming Language available globally.