C#での文字列切り出し方法の紹介!|文字列切り出し方法を正しく使いこなそう
- システム
エンジニア - C#で必要な部分だけを切り出したい場合にはどのようにすればいいのですか。
- プロジェクト
マネージャー - 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メソッドを使用して、文字列を置換して切り出すことができます。
- システム
エンジニア - いくつかのメソッドを使い分けて、必要なところを切り出すのですね。
- プロジェクト
マネージャー - その通りです。用途に応じてメソッドを使い分けてください。
文字列切り出し方法を正しく使いこなそう
いかがでしたでしょうか。C#での不要な部分を削除し、新たな文字列として切り出す方法について紹介しました。
C#では様々な文字列操作メソッドが用意されており、用途に応じて使い分ける必要があります。ぜひご自身でソースコードを書いて、さらに理解を深めてください。
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万円東京都新宿区(西新宿駅)