C#で文字列を扱うときに主にstring型を使います。
そんなstring型には多くのプロパティやメソッドがC#には用意されています。
本記事ではそんな文字列を扱う際に役立つ代表的なプロパティやメソッドを紹介していきます。
文字列の文字数(サイズ)を取得する【Length】
string型の文字数を取得するときには『Lengthプロパティ』を使います。※10行目。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; namespace sample { class Program { static void Main() { var name = "田中太郎"; Console.WriteLine(name.Length); } } } |
実行結果
4
変数nameに代入した「田中太郎」は4文字なので、Lengthプロパティを使うと『4』となります。
文字列を部分的に取り出す【Substring】
文字列を部分的に取り出すときには『Substringメソッド』を使います。※11,12行目。
そのSubstringメソッドの記述は下の通りです。
変数.Substring(スタート地点(何文字目から),取り出す文字数)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System; namespace sample { class Program { static void Main() { var name = "田中純一郎"; Console.WriteLine(name.Substring(0,2)); Console.WriteLine(name.Substring(2,3)); } } } |
実行結果
田中
純一郎
変数nameには「田中純一郎」を代入しています。
そして、11行目の「name.Substring(0,2)」では文字列の頭文字から2文字を指定しているので「田中」を取得しています。
12行目の「name.Substring(2,3)」では文字列の2文字目から3文字を指定しているので「純一郎」を取得しています。
前後の空白文字を取り除く【Trim】
文字列の前後で空白があり、それを取り除きたい場合は『Trimメソッド』を使います。
下では「” 田中 純一郎 “」といった前後と文字の間に空白の入った文字列に試しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; namespace sample { class Program { static void Main() { var name = " 田中 純一郎 "; Console.WriteLine($"「{name.Trim()}」"); } } } |
実行結果
「田中 純一郎」
「 田中 純一郎 」→「田中 純一郎」
上のように文字列の前後の空白は取り除かれています。
もちろん、文字列の間にある空白は取り除かれていません。
文字列内の英字を大文字・小文字に変更する【ToUpper・ToLower】
C#のstring型は文字列に含まれている英字を大文字・小文字に変換できます。
大文字に変換するときには『ToUpperメソッド』、小文字に変換するときには『ToLowerメソッド』を使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; namespace sample { class Program { static void Main() { var name1 = "tanaka taro"; Console.WriteLine(name1.ToUpper()); //小文字 → 大文字に変換 var name2 = "TANAKA TARO"; Console.WriteLine(name2.ToLower()); //大文字 → 小文字に変換 } } } |
実行結果
TANAKA TARO
tanaka taro
文字列を置き換える【Replace】
指定した文字列を違う文字列に置き換えるときには『Replaceメソッド』を使います。
そのReplaceメソッドの記述は下の通りです。
変数.Replace(“対象文字列”,”置き換える文字列”)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; namespace sample { class Program { static void Main() { var name = "田中太郎"; Console.WriteLine(name.Replace("太郎","一郎")); } } } |
実行結果
田中一郎
指定した文字列が存在するかを判定する【Contains】
対象文字列に指定した文字列が含まれているかを調べる時には『Containsメソッド』を使います※10行目。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; namespace sample { class Program { static void Main() { var name = "田中太郎"; Console.WriteLine(name.Contains("太郎")); } } } |
実行結果
True
変数nameには「田中太郎」が代入されています。
10行目ではそのnameに「太郎」が含まれているかを判定し、含まれているので”True”が返されています。
文字列を分割する【Split】
C#のstring型では1つの文字列を分割することができます。
その際使うのが『Splitメソッド』です。
Splitメソッドの記述は下の通りです。
変数.Split(‘区切り文字’)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System; namespace sample { class Program { static void Main() { var name = "一郎・二郎・三郎"; var items = name.Split('・'); Console.WriteLine(items[0]); Console.WriteLine(items[1]); Console.WriteLine(items[2]); } } } |
実行結果
一郎
二郎
三郎
変数nameに「一郎・二郎・三郎」という文字列を代入しています。
10行目では、そのnameに対して”・”ごとに文字列を分割するようにしています。
そして、分割された文字列は配列に格納され、今回はインデックス0に「一郎」インデックス1に「二郎」、インデックス2に「三郎」となっています。
スポンサーリンク