两个简单的扩展方法: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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

HttpWebRequest采集读取网站挂载Cookie的通用方法

Asp.net 版本 HttpWebRequest采集时添加:httpWebRequest.CookieContainer = new CookieContai...

2955
来自专栏菩提树下的杨过

(Head First 设计模式)学习笔记(1)

把书中开篇duck问题的代码翻译成了c#版: 概述: 某游戏公司要设计一款鸭子的游戏,里面有各种各样的鸭子,有些会飞,有些会叫,但都会游泳。而且不同种类的鸭子...

2059
来自专栏跟着阿笨一起玩NET

C#中汉字排序简单示例(拼音/笔划)

2481
来自专栏c#开发者

lightswitch 添加 TreeView 控件

代码片段 <UserControl xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presen...

3247
来自专栏跟着阿笨一起玩NET

C#自定义泛型类绑定ComboBox控件

C# WinForm ComboBox 自定义数据项 (ComboBoxItem )

2001
来自专栏跟着阿笨一起玩NET

linq to sql 扩展方法

720
来自专栏lgp20151222

JSONObject和JSONArray区别及基本用法

        例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "con...

791
来自专栏菩提树下的杨过

泛型List<T>使用示例

代码来源于"c#高级编程(第4版)",略作修改 using System; using System.Collections; using System.C...

1907
来自专栏大内老A

难道调用ThreadPool.QueueUserWorkItem()的时候,真是必须调用Thread.Sleep(N)吗?

开门见山,下面的例子中通过调用ThreadPool.QueueUserWorkItem(WaitCallback callBack, object state)...

3227
来自专栏个人随笔

C#编写影院售票系统(A project with a higher amount of gold )(2:相关代码)

此篇文章为项目代码,,,需要项目需求 ,思路分析与窗体效果请访问:http://www.cnblogs.com/lsy131479/p/8367304.html...

3305

扫码关注云+社区

领取腾讯云代金券