
C#での文字列切り出し方法の紹介!|文字列切り出し方法を正しく使いこなそう
- SE
- C#で必要な部分だけを切り出したい場合にはどのようにすればいいのですか。
- PM
- Substringメソッドのほか、IndexOfメソッド、Trimメソッド、Replaceメソッドを使用すると必要な部分を切り出すことができます。
目次
C#での文字列切り出し方法とは?
今回は、C#での文字列の切り出し方について説明します。
文字列から必要な部分のみを切り出すことはよくあります。
C#では様々な文字列操作メソッドが用意されており、用途に応じて使い分ける必要があります。
C#での文字列切り出しに興味のある方は是非ご覧ください。
先頭からN文字を切り出す
C#ではSubstringメソッドを使用して、文字列の先頭からN文字分を切り出すことができます。Substringメソッドは、第1引数に文字列のインデックス、第2引数に何文字切り出すかを指定します。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; //Substring()で切り出し。第1引数に文字列のインデックス、第2引数に何文字切り出すかを指定する。 string str = org.Substring(0, 3); System.Console.WriteLine(str); // あいう |
実行結果は以下のようになります。
1 |
あいう |
Substringメソッドは、文字数よりも大きな値を指定すると、ArgumentOutOfRangeExceptionが発生します。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; //Substring()で切り出し。 string str = org.Substring(0, 10); // System.ArgumentOutOfRangeException System.Console.WriteLine(str); |
このように、C#ではSubstringメソッドを使用して、文字列の先頭からN文字分を切り出すことができます。
先頭からN文字目を切り出す
C#では、Substringメソッドを使用して、先頭からN文字目を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; //Substring()で切り出し。 string str = org.Substring(1, 1); System.Console.WriteLine(str); // い |
実行結果は以下のようになります。
1 |
い |
Substring(1, 1)とすることで、2文字目から1文字分(つまり2文字目のみ)を切り出すことができます。
このように、C#ではSubstringメソッドを使用して、先頭からN文字目を切り出すことができます。
末尾からN文字を切り出す
C#では、Substringメソッドを使用して、文字列の末尾からN文字分を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; //Substring()で切り出し。 string str = org.Substring(org.Length-3); System.Console.WriteLine(str); // うえお |
実行結果は以下のようになります。
1 |
うえお |
Substringメソッドに引数1つだけにすると、指定インデックス以降の文字列を取得できます。またLengthメソッドで、文字列長を取得できます。これらを組み合わせて、文字列の末尾からN文字分を切り出すことができます。
中ほどからN文字を切り出す
C#では、Substringメソッドを使用して、文字列の中ほどからN文字を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; //Substring()で切り出し。 string str = org.Substring(1, 3); System.Console.WriteLine(str); // いうえ |
実行結果は以下のようになります。
1 |
いうえ |
2文字目から3文字分を切り出しています。
このように、C#ではSubstringメソッドを使用して、文字列の中ほどからN文字を切り出すことができます。
指定した文字までを切り出す
C#では、指定した文字列までを切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; //Substring()で切り出し。 string str = org.Substring(0, org.IndexOf(""う"")+1); System.Console.WriteLine(str); // あいう |
実行結果は以下のようになります。
1 |
あいう |
IndexOfメソッドで、指定文字が含まれるインデックスを取得できます。
取得したインデックスまでの文字列を切り出すことで、指定した文字までを取得できます。
キーワードが2文字以上の文字列であっても切り出せます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 |
string org = ""あいうえお""; int index = org.IndexOf(""うえ""); index += ""うえ"".Length; //Substring()で切り出し。 string str = org.Substring(0, index); System.Console.WriteLine(str); // あいうえ |
実行結果は以下のようになります。
1 |
あいうえ |
このように、C#では指定した文字列までを切り出すことができます。
指定した文字以降を切り出す
C#では、指定した文字列以降を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
string org = ""あいうえお""; int index1 = org.IndexOf(""う""); int index2 = org.IndexOf(""うえ""); //Substring()で切り出し。 string str1 = org.Substring(index1); string str2 = org.Substring(index2); System.Console.WriteLine(str1); // うえお System.Console.WriteLine(str2); // うえお |
実行結果は以下のようになります。
1 2 |
うえお うえお |
このように、C#では、指定した文字列以降を切り出すことができます。
空白を除いて切り出す
Trimメソッドを使用して、空白を除いて切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 |
string org = "" あいうえお ""; //Substring()で切り出し。 string str = org.Trim(); System.Console.WriteLine(org); // あいうえお System.Console.WriteLine(str); // あいうえお |
実行結果は以下のようになります。
1 2 |
あいうえお あいうえお |
ここでは紹介しませんが、先頭の空白のみ削除したり、末尾の空白のみ削除して切り出したりする方法もあります。
このように、Trimメソッドを使用して、空白を除いて切り出すことができます。
置換して切り出す
Replaceメソッドを使用して、文字列を置換して切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; //Substring()で切り出し。 string str = org.Replace(""うえお"", """"); System.Console.WriteLine(str); // あい |
実行結果は以下のようになります。
1 |
あい |
「あい」を取り除いて「うえお」が切り出せていることが分かります。
置換には正規表現を使うこともできます。
このように、Replaceメソッドを使用して、文字列を置換して切り出すことができます。
- SE
- いくつかのメソッドを使い分けて、必要なところを切り出すのですね。
- PM
- その通りです。用途に応じてメソッドを使い分けてください。
文字列切り出し方法を正しく使いこなそう
いかがでしたでしょうか。C#での不要な部分を削除し、新たな文字列として切り出す方法について紹介しました。
C#では様々な文字列操作メソッドが用意されており、用途に応じて使い分ける必要があります。ぜひご自身でソースコードを書いて、さらに理解を深めてください。