【C#】特定の文字以降を取得する方法
C#で特定の文字以降を取得するには、IndexOfで特定の文字列の位置を検索し、ヒットした位置からSubstringメソッドを使用し文字列を切り取ることで取得することができます。
// 特定の文字列の位置を検索 変数.IndexOf(検索文字); //検索したい文字が存在した場合、その位置を返却する
上記のメソッドを利用してsubstringメソッドで切り出すための位置を取得します。
string str = "テスト#取得文字"; int i = str.IndexOf("#"); Console.WriteLine(i); // 実行結果 3
今回取得したい特定の文字を#、特定の文字以降は「取得文字」とします。
#を検索したところ想定通り3が返却されました。
次に、返却された文字をsubstringメソッドの引数に設定し、特定の文字以降を取得します。
// 特定の文字列の位置を検索移行を切り出し 変数.Substring(切出位置); //指定したインデックス以降の文字列を切り出します。
今回は特定の文字以降を取得したいため、特定の文字を除きます。
そのため、Substringの引数は検索文字数分加算してあげる必要があります
string str = "テスト#取得文字"; int i = str.IndexOf("#"); str = str.Substring(i + 1); Console.WriteLine(str); //実行結果 取得文字
検索文字が「##」など2文字であればsubstringの引数はi + 2となります。
※Javaも同様の手順で特定の文字以降を取得できます
コメントを残す