两个简单的扩展方法: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 @   Artech  阅读(7042)  评论(12编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示