文字列の先頭と末尾を指定文字列で削除

String.TrimStart メソッドや、String.TrimEnd メソッドは、char[] を引数にとるため、先頭の文字列を除去したい場合は string を引数として渡せるよう拡張メソッドを定義する。

先頭文字を除去する拡張メソッド

public static class Extension
{      
 public static string TrimStart(this string target, string trimString)
 {
  return target.Substring(trimString.Length);
 }
}

末尾の文字を除去する拡張メソッド

public static class Extension
{
 public static string TrimEnd(this string target, string trimString)
 {
  return target.Substring(0, target.Length - trimString.Length);
 }
}

使用方法

string address = "京都府京都市上京区岩栖院町4-15-6 京都府アパート";

// 京都市上京区岩栖院町4-15-6 京都府アパート
string afterValue1 = address.TrimStart("京都府");

// 京都府京都市上京区岩栖院町4-15-6 
string afterValue2 = address.TrimEnd("京都府アパート");

// 京都市上京区岩栖院町4-15-6  
string afterValue3 = address.TrimStart("京都府").TrimEnd("京都府アパート");

文字列を単純に消すだけなら System.Replace で十分だが、今回の例のように必ず先頭のみ削除したい場合はこういう方法を使うべき。

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック