C# PR

Webフォームの文字も自由自在!C#の文字列操作6つ

記事内に商品プロモーションを含む場合があります
ひなドリ

C#でWebフォーム作ったはいいけど、郵便番号とか電話番号をいい感じに操作できない…。どうしたらいい?

わかドリ

文字列操作を使えるようになれば、文字列の結合や分割も自由自在だよ!今回はそこを覚えていこう!

Webフォームで電話番号や郵便番号を入力できるように下はいいけれど、”-”で区切ったりしたい時や、先頭の3文字だけほしいときありますよね。

わかドリもよくあります。

そこで今回は、そんな時に役立つC#の文字列操作の方法6つを学んでいきましょう!

この記事でわかること
  • C#での文字列操作方法

結合

まず絶対覚えるべき文字列操作は結合。

各種フォームなどで結合して使用したりチェックしたりすることが多いです。

ここでは、一番簡単な「+」演算子を使ってみましょう。

「+」演算子を使う【一番簡単】

以下のように+演算子を使って文字列を連結することができます

string name = "World";
string message = "Hello " + name + "!"; 
// 出力結果は → "Hello World!"

2つの文字列だけでなく、いくつかの文字列を結合することもできます。

string str1 = "Hello";
string str2 = "World";
string str3 = "!";
string message = str1 + " " + str2 + str3; 
// 出力結果は → "Hello World!"

上記の例では、+演算子を使って3つの文字列を連結しています。

ただし、文字列を連結する場合、+演算子は文字列の数が増えるにつれて効率が低下することがあります。

そのため、文字列の連結が頻繁に行われる場合は、StringBuilderクラスを使用することが推奨されます。

わかドリ

一番簡単な方法なんだけど、実はC#では非推奨。文字列補完を使おう。でも、わかりやすいのでこういう方法もあるということを覚えておこう!

より詳しく知りたい方はこちらの記事も合わせて読みましょう。

比較:”==”を使う

わかドリ

“==”や”!=”を使って比較しましょう。

C#における演算子を使用した文字列比較は、比較演算子 ==!= を使用して行われます。

以下に演算子を使った文字列比較の方法を説明します。

string str1 = "apple";
string str2 = "banana";

if (str1 == str2)
{
    Console.WriteLine("文字列は等しいです。");
}
else
{
    Console.WriteLine("文字列は等しくありません。");
}

上記のコードでは、== 演算子を使用して str1str2 の文字列を比較しています。

もし2つの文字列が完全に一致する場合、条件式は true となり、”文字列は等しいです。” というメッセージが表示されます。

一致しない場合は、条件式は false となり、”文字列は等しくありません。” というメッセージが表示されます。

わかドリ

こちらも一番簡単な方法。より詳しく学びたい方は、以下の記事も読んでみよう。

分割:Splitを使う

わかドリ

文字列の分割は”Split”を使いましょう。

Split メソッドを使用して、指定した区切り文字で文字列を分割することができます。

string str = "Hello,World";
string[] parts = str.Split(',');  // 結果: ["Hello", "World"]

これは”Hello,World”という文字を”,”で区切って配列にするというパターン。

この時partsはstring型の配列で、string[0]には”Hello”が、stringには”World”が格納されます。

わかドリ

分割は後から出てくるSubstringを使う方法もあるけど、区切り文字が決まっている場合はこちらの方がいいよ。

置換:Replaceを使う

わかドリ

置換、文字列の置き換えはReplaceを使いましょう。

Replaceメソッドを使用して、指定した文字列を別の文字列で置換できます。

string str = "Hello World";
string replaced = str.Replace("World", "Universe");  // 結果: "Hello Universe"

これは”Hello World”という文字のWorldをUniverseに置換するパターン。

置換は例えば、文字列中の特定の文字を消すこともできます。

string str = "090-XXXX-XXXX";
string replaced = str.Replace("-", "");  // 結果: "090XXXXXXXX"

これは”090-XXXX-XXXX”という文字列の”-“を削除した例です。

正確には削除ではなく”-“を””(空文字)で置換したという考え方になります。

この考え方は非常に便利なので、覚えておきましょう。

わかドリ

置換は本当にいろんな使い方をするから、覚えておきましょう!

一部の切り取り:Substringを使う

わかドリ

文字列の一部が欲しい時はSubstringを使いましょう。

C#の Substring メソッドは、文字列の一部を切り取るために使用します。

指定した開始位置から指定した長さ(または終端まで)の部分文字列を取得します。

わかドリ

引数の指定の仕方で文字の取れ方が違うよ。

string originalString = "Hello, World!";

// 文字列の一部を切り取る
string subString1 = originalString.Substring(7); // 開始位置7から終端までを切り取る
Console.WriteLine(subString1); // 出力: "World!"

// 開始位置と長さを指定して文字列の一部を切り取る
string subString2 = originalString.Substring(0, 5); // 開始位置0から5文字を切り取る
Console.WriteLine(subString2); // 出力: "Hello"

Substring メソッドの第1引数は、切り取りを開始する位置(インデックス)を指定します。この位置は0から始まります。

第2引数を省略すると、開始位置から文字列の終端までを切り取ります。

第2引数を指定すると、指定した長さだけの部分文字列を切り取ります。

開始位置や長さが文字列の範囲を超える場合、例外 ArgumentOutOfRangeException が発生します。

わかドリ

文字列以上の長さを指定したり、範囲外の数を指定すると例外が発生するから注意!

今回のゼロわか

この記事でわかったこと
  • C#での文字列操作方法

お疲れさまでした。

今回は、C#での文字列操作方法についてお伝えしました。

わかドリ

今日も学んだあなたが偉い!

ABOUT ME
わかドリ
現役SE。 プログラミング未経験で ブラック企業に入社したが、 何とか転職したりして10年生き残った。 プログラミング未経験だった かつての自分であるひなドリを救うため、 プログラミングのブログを運営。