两个简单的扩展方法:TrimPrefix和TrimSuffix

今天写程序频繁用到两中字符串操作:删除某个字符串指定的前缀和后缀。由于没有现成的方法可用,写了两个扩展方法:TrimPrefix和TrimSuffix。

   1: namespace System
   2: {
   3:     public static class StringExtensions
   4:     {
   5:         public static string TrimPrefix(this string sourceString, string prefix, bool ignoreCase = false)
   6:         {
   7:             prefix = prefix ?? string.Empty;
   8:             if(!sourceString.StartsWith(prefix,ignoreCase, CultureInfo.CurrentCulture))
   9:             {
  10:                 return sourceString;
  11:             }
  12:  
  13:             return sourceString.Remove(0, prefix.Length);
  14:         }
  15:  
  16:         public static string TrimSuffix(this string sourceString, string suffix, bool ignoreCase = false)
  17:         {
  18:             suffix = suffix ?? string.Empty;
  19:             if (!sourceString.EndsWith(suffix, ignoreCase, CultureInfo.CurrentCulture))
  20:             {
  21:                 return sourceString;
  22:             }
  23:             return sourceString.Substring(0, sourceString.Length - suffix.Length);
  24:         }
  25:     }
  26: }

程序调用:

   1: static void Main(string[] args)
   2: {
   3:     string sourceString = "ABC123";
   4:     Console.WriteLine(sourceString.TrimPrefix("ABC"));
   5:     Console.WriteLine(sourceString.TrimSuffix("123"));
   6: }

输出结果:

   1: 123
   2: ABC
posted @ 2011-03-07 20:52  Artech  阅读(7026)  评论(12编辑  收藏  举报