HOWTO · Csharp

C# で文字列ごとに文字列を分割する

このチュートリアルでは、C# で別の文字列を使用して文字列を分割する方法を説明します。

このページの内容

Strings は、テキストデータを格納するために使用されるオブジェクトです。C# の System.String ライブラリは、文字列を操作、作成、および比較するための多数のメソッドを提供します。

私たちがよく遭遇する一般的な状況の 1つは、いくつかの重要なデータを抽出するために文字列を分割することです。この記事では、別の文字列を使用して文字列を分割し、C# でこの操作を実行するさまざまな方法に焦点を当てます。

C# で String.Split() メソッドを使用する

String.Split() メソッドにはさまざまなオーバーロードがあり、文字列を分割するさまざまなメソッドを提供します。

引数として文字列を取り、それを区切り文字として使用して、指定された文字列をそのサブ文字列に分割する 1つの特定のオーバーロードに関心があります。

using System;

public class Example {
  public static void Main() {
    string str = "Delft@@Stack";
    string separator = "@@";

    string[] tokens = str.Split(new string[] { separator }, StringSplitOptions.None);
    Console.WriteLine(String.Join(" ", tokens));
  }
}

出力:

Delft Stack

上記の方法では、区切り文字列@@を使用して指定された文字列をサブ文字列の配列に分割し、それらをスペースで連結して出力​​します。

C# で Regex.Split() メソッドを使用する

Regex.Split() メソッドは、私たちが達成したいことを実行します。入力文字列を受け取り、正規表現条件の一致に基づいてサブ文字列の配列に分割します。

using System;
using System.Text.RegularExpressions;

public class Program {
  public static void Main() {
    string str = "Delft@@Stack";
    string separator = "@@";

    string[] tokens = Regex.Split(str, separator);
    Console.WriteLine(String.Join(" ", tokens));
  }
}

出力:

Delft Stack

上記のコードサンプルからわかるように、Regex.Split() メソッドは、String.Split() メソッドよりもさらに簡単に使用できます。実行はさらに高速で効率的です。