
C#での文字列の切り出し方法について詳しく解説していきます。
- SE
- 文字の切り出し方法に興味があるのですが実際どんな方法があるのでしょう?
- PM
- 関数を利用した切り出し方法をみていきましょう。
目次
C#での文字列切り出しについて
今回は、C#での文字列の切り出し方法について説明します。
VB.NETでは Left, Mid, Right などの関数が用意されており、「先頭からN文字切り出す」などの文字列操作ができ、C#には Left, Mid, Right 関数はないので、その代わりにSubstring関数などを使用します。
C#での文字列切り出し方法に興味のある方は是非、参考にしてみてはいかがでしょうか。
先頭からN文字切り出す(VB.NETのLeft関数相当)
文字列の先頭からN文字分を切り出せます。
VB.NETではLeft関数で先頭からN文字切り出せますが、C#ではSubstring関数を使用します。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
string org = ""あいうえお""; string str1 = org.Substring(0, 3); string str2 = org.Substring(0, 4); //string str3 = org.Substring(0, 6); // ArgumentOutOfRangeExceptionが発生する System.Console.WriteLine(str1); // あいう System.Console.WriteLine(str2); // あいうえ |
実行結果は以下のようになります。
1 2 |
あいう あいうえ |
VB.NETのLeft関数と同じ挙動です。
VB.NETでは「Strings.Left(org, 3)」のように記述します。
Substring関数では、文字数よりも大きな値を指定すると、ArgumentOutOfRangeExceptionが発生します。
また、VB.NETのLeft関数では、文字数よりも大きな値を指定しても例外は発生せずに文字列全体を取得できます。
このように、C#では文字列の先頭からN文字分を切り出せます。
先頭からN文字目を切り出す
先頭からN文字目を切り出せます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
string org = ""あいうえお""; string str1 = org.Substring(1, 1); string str2 = org.Substring(2, 1); System.Console.WriteLine(str1); // い System.Console.WriteLine(str2); // う |
実行結果は以下のようになります。
1 2 |
い う |
Substring()はインデックスでアクセスするため、1文字目はインデックス0、2文字目はインデックス1となります。
Substring(1, 1)とすることで、2文字目から1文字分(つまり2文字目のみ)を切り出すことができます。
このように、C#では先頭からN文字目を切り出せます。
末尾からN文字を切り出す
文字列の末尾から、N文字分を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
string org = ""あいうえお""; string str1 = org.Substring(org.Length - 2); string str2 = org.Substring(org.Length - 3); // string str3 = org.Substring(org.Length - 6); // ArgumentOutOfRangeExceptionが発生する System.Console.WriteLine(str1); // えお System.Console.WriteLine(str2); // うえお |
実行結果は以下のようになります。
1 2 |
えお うえお |
Lengthメソッドで文字列長を取得できます。””文字列長 – 2″”とすることで、末尾2文字を切り出しています。
このように、文字列の末尾からN文字分を切り出せます。
中ほどからN文字を切り出す
文字列の中ほどから、N文字を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; string str1 = org.Substring(1, 3); System.Console.WriteLine(str1); // いうえ |
実行結果は以下のようになります。
1 |
いうえ |
2文字目から3文字分を切り出しています。
このように、文字列の中ほどからN文字切り出せます。
先頭N文字以外を切り出す
文字列の先頭N文字以外を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; string str1 = org.Substring(2); System.Console.WriteLine(str1); // うえお |
実行結果は以下のようになります。
1 |
うえお |
このように、文字列の先頭N文字以外を切り出せます。
末尾N文字以外を切り出す
文字列の末尾N文字以外を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; string str1 = org.Substring(0, org.Length -2); System.Console.WriteLine(str1); // あいう |
実行結果は以下のようになります。
1 |
あいう |
VB.NETでは、Strings.Left(org, Len(org) -2)のように記述します。
Left関数と同じ挙動になります。
文字列の長さは、””文字列.Length””でわかります。
このように、文字列の末尾N文字以外を切り出せます。
指定した文字までを切り出す
文字列の指定した文字までを切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; string str1 = org.Substring(0, org.IndexOf(""う"")); System.Console.WriteLine(str1); // あい |
実行結果は以下のようになります。
1 |
あい |
IndexOf()で、指定文字が含まれるインデックスを取得できます。
取得したインデックスまでの文字列を切り出すことで、指定した文字までを取得できます。
指定した文字以降を切り出す
指定した文字以降を切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; string str1 = org.Substring(org.IndexOf(""う"")); System.Console.WriteLine(str1); // うえお |
実行結果は以下のようになります。
1 |
うえお |
このように、指定した文字以降を切り出せます。
空白を除いて切り出す
C#ではTrim()を使用して、空白を除いて切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = "" あいうえお ""; string str1 = org.Trim(); System.Console.WriteLine(str1); // あいうえお |
実行結果は以下のようになります。
1 |
あいうえお |
ここでは紹介しませんが、先頭の空白のみ削除したり、末尾の空白のみ削除して切り出す方法もあります。
このように、C#ではTrim()を使用して、空白を除いて切り出せます。
置換して切り出す
C#ではReplace()を使用して、文字列を置換して切り出すことができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 |
string org = ""あいうえお""; string str1 = org.Replace(""うえお"", """"); System.Console.WriteLine(str1); // あい |
実行結果は以下のようになります。
1 |
あい |
置換には正規表現を使うこともできます。
このように、C#ではReplace()を使用して、文字列を置換して切り出せます。
- SE
- 文字列を置き換えた切り出し方法もあるのですね。
- PM
- 文字の切り出し方法には様々な関数を用います。実際に書いてみて理解を深めていきましょう。
C#での文字列の切り出し方法について知ろう
いかがでしたでしょうか。VB.NETでは Left, Mid, Right などの関数が用意されており、「先頭からN文字切り出す」などの文字列操作ができます。
C#には Left, Mid, Right 関数はなく、その代わりにSubstring関数などを使用します。ぜひご自身でソースコードを書いて、さらに理解を深めていきましょう。