C#において文字列を操作する方法は非常に重要です。
本記事では初心者でも理解しやすいようにC#の基本的な文字列操作についてまとめてみました。
これらの操作をマスターすることで効果的なプログラミングが可能になります。
文字列の操作だけでも沢山記事があるので目次から見たいところに進んでね!
文字列についての基本操作
文字列の宣言
C#で文字列を作成する方法はいくつかありますが基本的なものとしては以下があります。
string greeting = "Hello, C#!";
string emptyString = String.Empty;
変数に文字列を代入することで文字列を作成できます。
また、String.Emptyを使用すると空の文字列を作成できます。
文字列の結合
複数の文字列を結合するには、+演算子やString.Concatメソッドを使用します。
string firstName = "John";
string lastName = "Doe";
string fullName = firstName + " " + lastName;
// または
string concatenatedName = String.Concat(firstName, " ", lastName);
文字列と数値を結合するときの注意点を以下記事で紹介しているよ
文字列の長さ取得
文字列の長さ(文字数)を取得するには、Lengthプロパティを使用します。
string exampleString = "C# is powerful!";
int length = exampleString.Length;
文字の取得と置換
文字列内の特定の位置の文字を取得するには、インデックスを使用します。また、Replaceメソッドを使って文字列内の特定の文字を置換することもできます。
char firstChar = exampleString[0];
string replacedString = exampleString.Replace('C', 'A');
文字列の中から空白改行の削除
Trimメソッドは文字列の先頭および末尾にある空白および改行を削除します。
string originalString = " こんにちは、\n 世界! ";
// Trimメソッドを使用して空白と改行を削除
string trimmedString = originalString.Trim();
文字列の置換回数を指定し抽出する
文字列の後ろの文字を削除する
後ろから指定した文字数を削除するにはSubstringメソッドを使用します。
string inputString = "Hello, World!";
int charactersToRemove = 5; // 削除する文字数
string resultString = inputString.Substring(0, inputString.Length - charactersToRemove);
文字列から数字だけを取得する
文字列の一部を置換する
文字列の一部を変更するには、Substringメソッドを利用します。
string originalString = "Hello, World!";
string replacement = "Universe";
int startIndex = 7; // 置換を開始する位置
string modifiedString = originalString.Substring(0, startIndex) + replacement + originalString.Substring(startIndex + replacement.Length);
文字列を比較する
文字列の内容が同じかどうかだけを判定する場合は==演算子を使用することが一般的です。
string str1 = "Hello";
string str2 = "Hello";
if (str1 == str2) { // 文字列が等しい場合の処理 }
文字列を大文字小文字関係なく比較する
C#において文字列の比較を大文字小文字を区別せずに行うためにはEqualsメソッドを利用します
string str1 = "Hello";
string str2 = "hello";
// 大文字小文字を区別せずに比較
bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase);
文字列が数字かどうかチェックする
文字列が数字4桁であるかを確認するには正規表現を利用します。
string inputString = "1234";
if (Regex.IsMatch(inputString, @"^\d{4}$"))
{
Console.WriteLine("入力された文字列は4桁の数字です。");
}
文字列の分割や切り出しについて
文字列を特定の区切り文字で分割するには、Splitメソッドを使用します。
string csvData = "apple,orange,banana";
string[] fruits = csvData.Split(',');
文字列を指定文字まで切り出しする
文字列を区切り文字で切り出し分割する
C#で文字列を区切り文字で分割する方法にはstring.Split()メソッドを使用する方法があります。
string input = "apple,banana,orange";
char delimiter = ',';
string[] elements = input.Split(delimiter);
文字列を前後から切り出しする
文字列を全角半角バイト数で切り出しする
Encoding.GetBytesメソッドを使用して指定した範囲のバイトを取得しそれをデコードして文字列として扱います
string originalString = "Hello, こんにちは";
int byteCountToCut = 10;
byte[] bytes = Encoding.UTF8.GetBytes(originalString);
string cutString = Encoding.UTF8.GetString(bytes, 0, byteCountToCut);
文字列の変換について
文字列の大文字小文字変換
文字列を大文字や小文字に変換するには、ToUpperメソッドとToLowerメソッドを使用します。
string upperCaseString = exampleString.ToUpper();
string lowerCaseString = exampleString.ToLower();
文字列から数値へ変換する
文字列型から数値型への変換にはParseメソッドやTryParseメソッド、Convertクラスのメソッドが利用されます。
string text = "42";
int result = int.Parse(text);
文字列を日付に変換する
C#ではDateTime.TryParseメソッドを使用して文字列を日付に変換することができます。
string dateString = "2023-12-31";
DateTime resultDate;
if (DateTime.TryParse(dateString, out resultDate))
{
Console.WriteLine("変換成功:" + resultDate);
}
else
{
Console.WriteLine("変換失敗");
}
文字列のフォーマット
文字列のフォーマットを整えるにはString.Formatメソッドや文字列補間(string interpolation)を使用します。
int age = 25;
string formattedString = String.Format("I am {0} years old.", age);
// または
string interpolatedString = $"I am {age} years old.";
まとめ
以上がC#における基本的な文字列操作の一部です。
これらの操作を駆使して様々な文字列処理を行えるようになります。
是非、実際にコードを書きながら理解を深めていってください。