C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で正規表現を使って文字列を分割する方法を解説

C#で正規表現を使用して文字列を分割するには、Regex.Splitメソッドを利用します。このメソッドは、指定した正規表現パターンに一致する箇所で文字列を分割し、結果を文字列の配列として返します。

基本的な使い方

例として、改行コード( )を含む次の文字列を考えてみましょう。

string str = "Hello\r\nWorld";

この文字列をRegex.Splitを使って分割すると、以下のようになります。

string[] res = Regex.Split(str, "\r\n");

サンプルコード

以下は、C#で正規表現を使って文字列を分割する完全なサンプルコードです。

using System;
using System.Text.RegularExpressions;

class Demo {
    static void Main() {
        string str = "Hello\r\nWorld";
        string[] res = Regex.Split(str, "\r\n");

        foreach (string word in res) {
            Console.WriteLine(word);
        }
    }
}

実行結果

Hello
World

ポイント解説

  • Regex.Splitの第一引数:分割対象となる入力文字列を指定します。
  • Regex.Splitの第二引数:分割の基準となる正規表現パターンを指定します。上記の例では、キャリッジリターン(\r)とラインフィード(\n)の組み合わせである「\r\n」をパターンとしています。
  • 戻り値:分割された各部分文字列が格納されたstring[]型の配列が返されます。

正規表現パターンを変更すれば、カンマ区切りや空白区切りなど、さまざまなルールでの文字列分割にも柔軟に対応できます。単純な固定文字列での分割であればString.Splitでも十分ですが、複雑なパターンで分割したい場合にはRegex.Splitが非常に便利です。

  1. 【Java】正規表現を使って文字列から数値を抽出する方法をわかりやすく解説

    Javaで文字列に含まれる数値(数字の並び)を抽出したい場合、正規表現を使うのが最も簡単な方法です。文字列から数値にマッチさせるには、以下のいずれかの正規表現パターンを使用します。 \\d+ または ([0-9]+) 「\\d+」は1桁以上の連続した数字にマッチするパターンで、「([0-9]+)」は0〜9の数字が1回以上繰り返される部分にマッチします。どちらを使っても結果は同じになります。 抽出処理では、java.util.regexパッケージのPatternクラスとMatcherクラスを使用します。Patternクラスで正規表現をコンパイルし、Matcherクラスのfind()メソッドでマッ

  2. Javaで正規表現を使って文字列の先頭ゼロを削除する方法

    JavaのStringクラスが提供するreplaceAll()メソッドは、「正規表現パターン」と「置換後の文字列」の2つの引数を受け取り、パターンにマッチした部分をすべて指定した文字列に置き換えます。 文字列の先頭にあるゼロ(先行ゼロ)にマッチさせるための正規表現は、次のとおりです。 ^0+(?!$) このパターンの意味は以下のとおりです。 ^0+:文字列の先頭から始まる1個以上の「0」にマッチします。 (?!$):否定先読みと呼ばれる構文で、文字列の末尾ではない位置であることを保証します。これにより、「0000」のようにすべてがゼロの文字列の場合でも、最後の1個のゼロが残り、空文字列にな