Today, writing programs frequently use two string operations: to delete the specified prefix and suffix of a string. Because there is no ready-made method available, two extension methods are written: TrimPrefix and 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: }
Program call:
1: static void Main(string[] args)
2: {
3: string sourceString = "ABC123";
4: Console.WriteLine(sourceString.TrimPrefix("ABC"));
5: Console.WriteLine(sourceString.TrimSuffix("123"));
6: }
Output result:
1: 123
2: ABC