こんにちは!エンジニアの中沢です。
C#には文字列のインデックスを指定したり、指定文字列を検索して削除をするための方法がいくつかがあります。そこで今回は、文字列を削除する様々な方法をまとめて解説します。
この記事では、
- 文字列の削除とは
- StringクラスのRemoveメソッドで削除
という基本的な内容から、
- StringクラスのSubstringメソッドで抜き出す
- StringクラスのTrimメソッドで文頭、文末を削除
- StringクラスのReplaceメソッドで置換
- StringBuilderクラスのRemoveメソッドで削除
などの応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、文字列を削除するさまざまな使い方をわかりやすく解説します!
文字列の削除とは
文字列の削除には、目的に応じていろいろな方法があります。削除した文字列のインデックスを指定して削除する方法や、削除したい文字列を指定する方法などがあります。
この記事では基本的な削除の方法から応用的な削除の方法までまとめて解説します。
StringクラスのRemoveメソッドで削除
最も基本的な方法として、StringクラスのRemoveメソッドで削除する方法があります。Removeメソッドは第1引数で削除する文字列の開始位置をインデックス番号で指定し、第2引数で削除する文字数を指定します。
Removeメソッドの使い方を次のプログラムで確認してみましょう。
using System; namespace Sample { class Sample { static void Main() { string str1 = "侍エンジニア塾"; string str2 = str1.Remove(1, 5); Console.WriteLine(str1); Console.WriteLine(str2); Console.ReadKey(); } } }
実行結果:
侍エンジニア 侍塾
StringクラスのSubstringメソッドで抜き出す
StringクラスのSubstringメソッドを使って必要な部分を抜き出すことで、余計な部分を削除して使うことができます。第1引数に抜き出す文字列の開始位置を0から指定します。
第2引数に抜き出す文字数を指定します。第2引数を省略すると、末尾まで抜き出します。次のプログラムで確認してみましょう。
using System; namespace Sample { class Sample { static void Main() { string str = "侍エンジニア塾"; Console.WriteLine(str.Substring(0, 1)); Console.WriteLine(str.Substring(1, 5)); Console.WriteLine(str.Substring(6)); Console.ReadKey(); } } }
実行結果:
侍 エンジニア 塾
Substringメソッドの詳しい使い方はこちらの記事で解説しているで、ぜひ確認してください。
StringクラスのTrimメソッドで文頭、文末を削除
StringクラスのTrimメソッドは、文字列の先頭と末尾に付いている空白文字や指定文字を削除するために使います。Trimメソッドは引数を指定せずに使うと、半角、全角のスペース文字、タブ文字、改行文字などを削除します。
次のプログラムで確認してみましょう。
using System; namespace Sample { class Sample { static void Main() { string str = "\t 侍エンジニア \n"; Console.WriteLine(str.Trim()); Console.ReadKey(); } } }
実行結果:
侍エンジニア
Trimメソッドの詳しい使い方はこちらの記事で解説しているで、ぜひ確認してください。
StringクラスのReplaceメソッドで置換
Replaceメソッドは、文字列を検索して条件に一致する部分を置換するために使用します。Replaceメソッドは第1引数に置換前の文字列を指定します。
第2引数に置換後の文字列を指定します。戻り値は置換後の文字列です。置換後の文字列に空文字(“”)を指定すれば削除することができます。次のプログラムで確認してみましょう。
using System; namespace Sample { class Program { static void Main(string[] args) { string str1 = " sa mu ra i "; string str2 = str1.Replace(" ", ""); Console.WriteLine(str1); Console.WriteLine(str2); Console.ReadKey(); } } }
実行結果:
sa mu ra i samurai
Replaceメソッドの詳しい使い方はこちらの記事で解説しているで、ぜひ確認してください。
StringBuilderクラスのRemoveメソッドで削除
StringBuilderクラスにもRemoveメソッドがあります。Removeメソッドは、第1引数で削除する文字列の開始位置をインデックス番号で指定し、第2引数で削除する文字数を指定します。
次のプログラムで確認してみましょう。
using System; using System.Text; namespace Sample { class Sample { static void Main() { StringBuilder sb = new StringBuilder("侍エンジニアengineer塾"); Console.WriteLine(sb.Remove(6, 8)); Console.ReadKey(); } } }
実行結果:
侍エンジニア塾
Removeメソッドの詳しい使い方はこちらの記事で解説しているで、ぜひ確認してください。
まとめ
いかがでしたか?今回は文字列を削除する様々な方法を解説しました。文字列を削除する方法はいくつかあるので、状況に応じて使い分けてくださいね。
もし、文字列を削除する方法を忘れてしまったらこの記事を確認してください!