С#. Как написать функцию, которая может искать строку внутри строки и возвращать количество вхождений?
Привет! Мне нужна помощь, чтобы разобраться с этим. Мне нужно найти строку внутри строки и вернуть количество вхождений. Я попробовал код ниже, и он работает, и я также пытался использовать регулярное выражение, и это сработало, но мой учитель сказал притвориться, что я не могу использовать indexOF или регулярное выражение. Итак, какие-нибудь идеи, пожалуйста?
Что я уже пробовал:
namespace ConsoleApplication3 { class Program { static void Main(string[] args) { string s1 = "hellohjhghello"; string s2 = "he"; var r = Occurrences(s1, s2); Console.WriteLine("{0} is repeated {1} times", s2, r); } static int Occurrences(string s1, string s2) { int count = 0; int pos = 0; while((pos = s1.IndexOf(s2,pos)) > -1) { count++; pos += s2.Length; } return count; } } }