【C#入門】Stringクラスで文字列操作総まとめ

image
長野 透
書いた人 長野 透
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!フリーランスの長野です。

Stringクラスって使ってますか?

文字列の分割・結合や比較、検索など文字列を扱う場合に使用すると便利です。

この記事では、Stringクラスについて

・Stringクラスとは
・Stringとstringの違いについて
・StringBuilderクラスとは

という基本的な内容から、

・文字列を分割・結合する方法
・文字列を比較する方法
・文字列が含まれているか判定する方法
・Substringで文字列の一部分を取得する方法
・削除する方法
・nullや空文字か判定する方法
・Replaceで置換する方法
・変換する方法

など応用的な使い方の内容についても解説していきます。

今回はStringクラスについて、使い方をわかりやすく解説します!

Stringクラスとは

c#には文字列を扱うStringクラスが用意されています。

文字列の分割・結合や比較、検索など文字列を扱うメソッドを使うことができます。

この記事では主なメソッドの使い方についてまとめています。

Stringとstringの違いについて

c#では頭文字が大文字で始まるString小文字で始まるstringがあります。

例えばStringクラスのメソッドを呼び出す場合は大文字で始まるStringを使います。

文字列の変数を宣言する場合には小文字で始まるstringで型を指定します。

ただ、Stringクラスのメソッドを呼び出す場合に小文字で始まるstringを使っても問題ありません。

文字列の変数を宣言する場合に大文字で始まるStringを使っても型を指定することもできます。

これは小文字で始まるstringはStringクラスのエイリアス(別名)だからです。

StringBuilderクラスとは

c#にはStringBuilderクラスもあります。

StringBuilderクラスを使うと、高速に文字列を追加、挿入したり削除、置換することができます。

次のサンプルはStringBuilderクラスのAppendメソッドを使って末尾に文字列を追加する例です。

実行結果:

このサンプルコードでは、StringBuilderクラスのオブジェクトsbからAppendメソッドを呼び出し、文字列を結合しています。

StringBuilderクラスには、Appendメソッド以外にもAppendFormat、Insert、Remove、Replaceメソッドなどが用意されています。

詳しくはこちらで詳しく解説していますので、ぜひ参考にしてください。

文字列を分割・結合する方法

文字列を分割・結合するにはStringクラスのSplitメソッドやJoinメソッドを使います。

Splitで分割する方法

文字列を分割するにはStringクラスのSplitメソッドを使います。

文字列中に含まれるスペースで文字列を分割する方法についてみていきましょう。

実行結果:

Splitメソッドではスペース以外にも、カンマや改行コード、指定文字列で文字列を分割することができます。

詳しくはこちらで詳しく解説していますので、ぜひ参考にしてください。

Joinで文字列の配列要素を結合する方法

文字列の配列要素を結合するにはJoinメソッドを使います。

Joinメソッドを使い方について、サンプルコードで確認しましょう。

実行結果:

サンプルコードでは、Joinメソッドを使って、区切り文字列に”/”を指定して配列srcの要素を結合しています。

配列要素の結合については、こちらで詳しく解説していますので、ぜひ参考にしてください。

文字列を比較する方法

文字列の比較には並び替え順位を比較する方法と文字列同士が等しいか比較する方法の2種類があります。

Compareで並び替え順位を比較する方法

並び替え順位を比較する場合にはCompareメソッドを使います。

Compareメソッドの使い方については、サンプルコードで確認しましょう。

実行結果:

このサンプルコードでは、まず文字列strAとstrBの並び順を比較しています。

strA(Osaka)はstrB(Tokyo)の前ですので、負の値を返しています。

次に文字列strAとstrCの並び順を比較しています。

strA(Osaka)はstrC(Nagoya)の後ろですので、正の値を返しています。

Compareメソッドの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。

Equalsで文字列同士が等しいか比較する方法

文字列同士が等しいか比較する場合にはEqualsを使います。

Equalsメソッドの使い方についてもサンプルコードで確認しましょう。

実行結果:

CompareメソッドとEqualsメソッドの使い方については、こちらで詳しく解説しています。

ぜひ参考にしてください。

==演算子で文字列が等しいかを比較する方法

==演算子で文字列を比較をするには、値の比較と同様に==演算子を使います。

次のプログラムで確認してみましょう。

実行結果:

詳しくはこちらで詳しく解説していますので、ぜひ参考にしてください。

文字列が含まれているか判定する方法

指定の文字列が含まれているか判定するには、IndexOfメソッドやContainsメソッドを使う方法があります。

IndexOfで文字列の位置を検索する方法

IndexOfメソッドを使うと指定した文字、文字列の位置を取得することができます。

サンプルコードで確認しましょう。

実行結果:

IndexOfメソッドの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。

Containsで文字列が含まれているか判定する方法

Containsメソッドを使うと、文字列の中に指定した対象が含まれるか確認することができます。

サンプルコードで確認しましょう。

実行結果:

Compareメソッドの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。

StartsWith、EndsWithで文字列の始まりと終わりを判定

StartsWithメソッドとEndsWithメソッドは、引数に検索する文字列を指定します。

次のプログラムで使い方を確認してみましょう。

実行結果:

詳しくはこちらで詳しく解説していますので、ぜひ参考にしてください。

文字列の検索方法まとめ

「IndexOfメソッド」、「Containsメソッド」、「StartsWith、EndsWithメソッド」などを使った文字列の検索方法はこちらの記事でまとめて解説しているので、ぜひ参考にしてください。

Substringで文字列の一部分を取得する方法

Substringメソッドを使うと、文字列の一部分を取得することができます。

実行結果:

このサンプルコードでは、Substringメソッドを使って開始位置と文字数を指定して、文字列strから部分文字列の一部分を抜き出しています。

Substringメソッドの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。

削除する方法

ここでは、文字列を削除する方法についていくつかご紹介します。

Trimで空白を削除する方法

Trimメソッドは、文字列の先頭と末尾に付いている空白文字や指定文字を削除するために使います。

実行結果:

Trimメソッドの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。

Removeで文字列を削除する方法

Removeメソッドを使うと文字列の一部を削除することができます。

実行結果:

このサンプルプログラムでは、Removeメソッドを使って文字列の一部を削除しています。

Removeメソッドの第1引数で削除する文字列の先頭の位置をインデックス番号で指定しています。

第2引数では削除する文字数を指定しています。

Removeメソッドの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。

nullや空文字か判定する方法

c#には文字列がnullか空文字か判定する方法があります。

Emptyで空文字か判定する方法

Emptyフィールドを使うと、文字列が空文字か判定することができます。

実行結果:

IsNullOrEmptyでnullか空文字か判定する方法

IsNullOrEmptyメソッドは、引数に指定した文字列がnullか空文字列の場合にTrueを返します。

実行結果:

Replaceで置換する方法

Replaceメソッドは、文字列を検索して条件に一致する部分を置換するために使用します。

実行結果:

Replaceメソッドの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。

変換する方法

文字列を数値やDateTime型に変更する方法や、逆に文字列に変更する方法も用意されています。

数値に変換する方法

文字列を数値に変換するには、Parseメソッドを使う方法とConvertクラスを使う方法があります。

ここではParseメソッドを使う方法をご紹介します。

実行結果:

このサンプルコードでは、int、long、float、doubleそれぞれの構造体からParseメソッドを呼び出し、それぞれの型に変換しています。

DateTimeに変換する方法

文字列をDateTime型に変換するには、DateTimeクラスのParseメソッドを使います。

実行結果:

逆にDateTime型に変換する方法については、こちらで詳しく解説しています。

ぜひ参考にしてください。

文字列に変換する方法

文字列に変換するには、ToStringメソッドを使います。

ここでは数値を文字列に変換する方法をご紹介します。

実行結果:

文字列を数値に変換する方法、数値を文字列に変更する方法については、こちらで詳しく解説しています。

ぜひ参考にしてください。

まとめ

ここでは、Stringクラスについて説明しました。

文字列を操作する必要がある場合はたくさんあります。

使いこなすことができるように、この記事を何度も参考にして下さいね!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]