C#のTrimメソッドで文字列の両端から指定の文字を削除する
アプリケーションを作成していると、文字列から空白文字を取り除きたい場面もあるかと思います。その時に、まず頭に思い浮かぶのはTrimメソッドではないでしょうか。
この記事では、文字列から文字を削除する方法をいくつか紹介します。場面に応じて使い分けできると思いますので、ぜひ参考にしてみてください。
- プログラマー
- 文字列から先頭の空白を除きたいのですが、何か良い方法はあるでしょうか?
- プロジェクト
マネージャー - 文字列の両端から空白を除く場合はTrimメソッドが良さそうですね。その他に、RemoveメソッドやReplaceメソッドでも実現できると思うので調べてみてください。
実行環境
・Windows 10 Home
・Visual Studio Community 2019
Trimメソッドの概要
C#で文字列の両端の空白文字を削除する場合、Trimメソッドを使用します。Trimメソッドには複数の定義が存在しますが、主なパターンを例に挙げて紹介します。
1
|
String Trim()
|
空白文字以外を削除したい場合は、引数で削除対象の文字を指定することも可能です。
1
|
String Trim(Char 削除対象の文字)
|
その他に、文字列の先頭のみから削除したい場合はTrimStartメソッド、文字列の末尾のみから削除したい場合はTrimEndメソッドも存在します。
文字列の両端から空白文字を削除する方法
ここからは、Trimメソッドを使って文字列から空白文字を削除する方法を紹介します。
Trimメソッドの活用例
まずは、入力文字列から両端の空白文字を削除してみましょう。
1
2
3
4
5
6
|
String input = @" 1, 22,333 ";
Console.WriteLine($"トリム前「{input}」");
Console.WriteLine($"トリム後「{input.Trim()}」");
// → 出力結果は以下となります。
// トリム前「 1, 22,333 」
// トリム後「1, 22,333」
|
入力文字列のうち、文中の空白文字は残っていますが、両端からは削除されていますね。
次に、Trimメソッドに引数を与えて、空白文字以外を削除してみましょう。
1
2
3
4
5
6
|
String input = @" ,1, 2,3,";
Console.WriteLine($"トリム前「{input}」");
Console.WriteLine($"トリム後「{input.Trim(‘,’)}」");
// → 出力結果は以下となります。
// トリム前「,1, 2,3,」
// トリム後「1, 2,3」
|
例では「,(半角カンマ)」を指定することで、文字列両端から「,」を削除していますね。
TrimStart/Endメソッドの活用例
Trimメソッドの部分をTrimStartメソッドに変更すると、どのような結果となるでしょうか。
1
2
3
4
5
6
|
String input = @" 1, 22,333 ";
Console.WriteLine($"トリム前「{input}」");
Console.WriteLine($"トリム後「{input.TrimStart()}」");
// → 出力結果は以下となります。
// トリム前「 1, 22,333 」
// トリム後「1, 22, 333 」
|
文字列の両端ではなく、先頭の空白のみ削除されていますね。
次にTrimEndメソッドに変更すると、どのような結果となるでしょうか。
1
2
3
4
5
6
|
String input = @" 1, 22,333 ";
Console.WriteLine($"トリム前「{input}」");
Console.WriteLine($"トリム後「{input.TrimEnd ()}」");
// → 出力結果は以下となります。
// トリム前「 1, 22,333 」
// トリム後「 1, 22,333」
|
今度は末尾の空白のみ削除されていることが分かります。
位置や文字列を指定して文字を削除する方法
Trimメソッド以外にも文字を削除する方法はあり、以下で2つのメソッドを紹介します。
Removeメソッドの活用例
文字に関係なく指定位置の文字を削除したい場合は、Removeメソッドを使用することも可能です。
1
2
3
4
5
6
|
String input = @"A0001";
Console.WriteLine($"削除前「{input}」");
Console.WriteLine($"削除後「{input.Remove(0, 1)}」");
// → 出力結果は以下となります。
// 削除前「A0001」
// 削除後「0001」
|
Removeメソッドの引数について、1個目には削除したい文字位置、2個目には削除したい文字数を指定します。
例では0番目の1文字と指定しているため、先頭の「A」が削除されていますね。
Replaceメソッドの活用例
Replaceメソッドは通常、文字列の置換を行いますが、置換後の文字列に空白を指定することで、文字の削除を行うことも可能です。
1
2
3
4
5
6
|
String input = @"1, 2, 3";
Console.WriteLine($"置換前「{input}」");
Console.WriteLine($"置換後「{input.Replace (“,”, “”)}」");
// → 出力結果は以下となります。
// 置換前「1, 2, 3」
// 置換後「1 2 3」
|
Replaceメソッドの引数について、1個目には置換元の文字列、2個目には置換後の文字列を指定します。
例では「,(半角カンマ)」を空白に置換するよう指定しているため、入力文字列から「,」が削除されていますね。
- プログラマー
- なるほど、文字の削除といっても、実現方法はいくつか存在するわけですね。
- プロジェクト
マネージャー - そうですね!その場面ごとに自身で取捨選択して、実現していってください。
文字列を削除できるメソッドは複数ある
今回はTrimメソッドなどを使用した文字列の削除を紹介しました。文字をどのように削除したいかによって、使用するメソッドも変わってきます。まずは「どのように削除したいか」という要件を明確化して、目的のメソッドを探してみてください。要件が曖昧だと、目的にたどり着けないことがあるので要注意です。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
C#新着案件New Job
-
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(新宿駅) -
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(新宿駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円神奈川県横浜市(桜木町駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円神奈川県横浜市(桜木町駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(西新宿駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(西新宿駅)