スライドショー

【C#入門】Trimで文頭、文末の文字を削除(TrimStart、TrimEndも解説)

String.Trimメソッドって使ってますか?

C#ではStringクラスのTrimメソッドを使うと、文字列の先頭と末尾に付いている余計な空白文字や指定文字を削除することができます。この記事では、Trimメソッドについて

  • Trimの使い方
  • TrimStartの使い方
  • TrimEndの使い方
  • 指定文字を削除する方法
  • 正規表現で削除する方法

など基本的な内容から、応用的な内容についても解説していきます。今回はTrimメソッドについて、使い方をわかりやすく解説します!

Trimの使い方

StringクラスのTrimメソッドは、文字列の先頭と末尾に付いている空白文字や指定文字を削除するために使います。Trimメソッドは引数を指定せずに使うと、半角、全角のスペース文字、タブ文字、改行文字などを削除します。

サンプルコードで確認しましょう。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      string str = "\t 侍エンジニア塾 \r\n";
      
      Console.WriteLine(str.Trim());
      Console.ReadKey();
    }
  }
}

実行結果:

侍エンジニア塾

TrimStartの使い方

Trimメソッドに対して、先頭の空白文字のみを削除する場合はTrimStartメソッドを使います。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      string str = "\t 侍エンジニア塾 \r\n";
      
      Console.WriteLine(str.TrimStart());
      Console.ReadKey();
    }
  }
}

実行結果:

侍エンジニア塾 

先頭のタブ文字や半角スペースは削除されますが、末尾の全角スペースと改行文字は削除されていません。

TrimEndの使い方

末尾の空白文字のみを削除する場合はTrimEndメソッドを使います。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      string str = "\t 侍エンジニア塾 \r\n";
      
      Console.WriteLine(str.TrimEnd());
      Console.ReadKey();
    }
  }
}

実行結果:

         侍エンジニア塾

末尾の全角スペースと改行文字は削除されますが、先頭のタブ文字や半角スペースは削除されていません。

指定文字を削除する方法

TrimメソッドやTrimStartメソッド、TrimEndメソッドは引数で指定した文字を削除することができます。メソッドの引数には複数の文字を指定することができます。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      string str = "@:;侍エンジニア塾@:;";
      
      Console.WriteLine(str.Trim('@', ':', ';'));
      Console.WriteLine(str.TrimStart('@', ':', ';'));
      Console.WriteLine(str.TrimEnd('@', ':', ';'));
      
      Console.ReadKey();
    }
  }
}

実行結果:

侍エンジニア塾
侍エンジニア塾@:;
@:;侍エンジニア塾

正規表現で削除する方法

Trimメソッドでは正規表現を使って削除することはできません。正規表現とはいくつかの文字列を一つの形式でまとめて表現するための表現方法のことです。主な正規表現については下記のとおりになります。

記号記号の説明例の説明
.任意の1文字。改行文字は除く。.+任意の文字列
*直前の1文字の0回以上の繰り返しと一致hoge*hogeもしくはhogee...と一致
^行の先頭^[0-9]行頭が数字
$行の末尾^.{10}$10文字の行
[ ]カッコ内の任意の1文字と一致。「-」で範囲指定可。[a-z]小文字のアルファベット1文字と一致
[^ ]カッコ内の任意の1文字と不一致。「-」で範囲指定可。[^A-Z]大文字のアルファベット以外
+直前の文字の1個以上の繰り返しと一致hoge+hogee...と一致
?直前の文字の0または1文字と一致hoge?eと一致
{ }カッコ内の数値の繰り返しと一致{n}直前の文字のn個の繰り返しと一致
{,n}直前の文字のn個以下の繰り返しと一致
{m,}直前の文字のm個以上の繰り返しと一致
{m,n}直前の文字のm個以上、n個以下の繰り返しと一致
|直前、直後どちらかのパターンに一致hoge|piyohogeまたはpiyo
( )カッコ内をグループ化。マッチした内容は参照可。

正規表現を使って削除するには、System.Text.RegularExpressions.RegexクラスのReplaceメソッドを使って空文字(「""」)に置き換えます。

using System;
using System.Text.RegularExpressions;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      string str = "@:;侍エンジニア塾@:;";
      string pattern = "[@:;]";
      
      Console.WriteLine(Regex.Replace(str, pattern, ""));
      
      Console.ReadKey();
    }
  }
}

実行結果:

侍エンジニア塾

StringBuilderで文字列を削除する方法

文字列を削除するには、StringBuilderクラスRemoveメソッドを使う方法もあります。次の記事で詳しい使い方を解説しているので、ぜひ確認してみてください。

【C#入門】StringBuilderクラスで文字列を追加、挿入、削除、置換
更新日 : 2019年4月17日

Replaceで空文字に置換して削除する方法

Replaceメソッドで空文字に置換して、指定した文字を削除することもできます。詳しい使い方は次の記事で確認してください。

【C#入門】StringクラスのReplaceメソッドで文字列を置換する方法
更新日 : 2019年8月7日

文字列の使い方総まとめ

文字列の様々な使い方は次の記事でまとめて解説しているので、その他の文字列の使い方に興味がある方はぜひ確認してください。

【C#入門】Stringクラスで文字列操作総まとめ
更新日 : 2019年5月5日

まとめ

ここでは、Trimメソッドについて説明しました。Trimメソッドは文字列の先頭、末尾に付いている空白文字を削除することができます。使いこなすことができるように、この記事を何度も参考にして下さいね!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説