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