>>>> public static Int32 Occurs(this String source, char pattern) >>>> { >>>> if (null==pattern) >>>> return 0; >>>> return source.Split(pattern).Length - 1; >>>> }>>>>
> public static int Occurs(this String source, char c) > { > int count = 0; > for (int i = source.Length; --i >= 0; ) > if (source[i] == c) > count++; > > return count; > } >I think what I have is OK and it's a short code.
/// <summary> /// Occurs function /// </summary> /// <param name="source"></param> /// <param name="pattern"></param> /// <returns></returns> public static Int32 Occurs(this String source, char pattern) { return source.Split(pattern).Length - 1; } public static Int32 Occurs(this String source, String pattern) { if (String.IsNullOrEmpty(pattern)) return 0; return (source.Length - source.Replace(pattern, "").Length)/pattern.Length; }