using System; using System.Linq; using System.Collections.Generic; using System.Globalization; using System.Net; static class Extensions{ public static bool ContainsMoreThan(this string text, int count, string value, StringComparison comparison) { if (text == null) throw new ArgumentNullException("text"); if (string.IsNullOrEmpty(value)) return text != ""; int contains = 0; int index = 0; while ((index = text.IndexOf(value, index, text.Length - index, comparison)) != -1) { if (++contains > count) return true; index++; } return false; } } public class Test { public static void Main() { string text = "Lorem ipsum dolor sit amet, quo porro homero dolorem eu, facilisi inciderint ius in."; bool containsMoreThanOnce = text.ContainsMoreThan(1, "dolor", StringComparison.OrdinalIgnoreCase); Console.WriteLine("Contains more than once? " + containsMoreThanOnce); } }