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

C#で正規表現を使って文字列から空白を削除する方法

C#では、正規表現(Regex)を利用することで、文字列内の不要な空白を簡単に削除できます。本記事では、System.Text.RegularExpressions 名前空間の Regex.Replace メソッドを使って、文字列から空白を取り除く方法を解説します。

削除対象の文字列

まず、次のような空白を含む文字列 str1 を用意します。

string str1 = "Brad Pitt";

Regex.Replaceで空白を置き換える

Regex.Replace メソッドを使い、空白(\s+)を空文字列("")に置き換えます。\s は半角スペースやタブなど任意の空白文字にマッチし、+ によって連続した空白もまとめて処理できる点がポイントです。

string str2 = System.Text.RegularExpressions.Regex.Replace(str1, @"\s+", "");

サンプルコード全体

以下に、動作確認できる完全なプログラム例を示します。

using System;
using System.Text.RegularExpressions;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            string str1 = "Brad Pitt";
            Console.WriteLine(str1);
            string str2 = System.Text.RegularExpressions.Regex.Replace(str1, @"\s+", "");
            Console.WriteLine(str2);
        }
    }
}

実行結果

Brad Pitt
BradPitt

実行すると、元の文字列「Brad Pitt」から空白が除去され、「BradPitt」と表示されます。この手法は、ユーザー入力の整形やデータクレンジングなど、さまざまな場面で活用できます。なお、空白をすべて削除するのではなく単語間のスペースのみを1つにまとめたい場合は、置換先を " " に変更することで対応可能です。

  1. Java正規表現(RegEx)で任意の文字にマッチさせる方法

    Javaの正規表現におけるメタ文字「.」(ドット)は、任意の1文字にマッチします。マッチ対象はアルファベットでも数字でも、記号などの特殊文字でも構いません。メタ文字「.」の基本「.」は改行文字以外のあらゆる単一文字と一致するため、パターンの柔軟性を高めたい場面で非常に便利です。なお、ドットそのもの(リテラルの「.」)にマッチさせたい場合は、バックスラッシュでエスケープして「\.」と記述します。例1:任意の1文字とのマッチ次のプログラムでは、ユーザーから入力された文字列に対して正規表現「.」を適用し、文字数をカウントしています。import java.util.Scanner; import j

  2. Pythonの正規表現を使って文字列内で最も多く出現する数字を求める方法

    このチュートリアルでは、正規表現を使って文字列の中で最も多く出現する数字を検出する方法を解説します。Pythonで実際にコードを書きながら、手順を追って確認していきましょう。 以下の手順に従ってプログラムを作成します。 re モジュールと collections モジュールをインポートします。 数字を含む文字列を初期化します。 正規表現ですべての数字を抽出し、リストに格納します。 collections モジュールの Counter を使って、最も多く出現する数字を特定します。 コード例 high_frequency: high_frequency = counter[