Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Определение кол-ва вхождений слова в строку


Автор: sergey_85 31.5.2007, 15:44
Нужно определить кол-во вхождений слова в строку с учетом/без учета регистра

Автор: Gelis 31.5.2007, 17:59
Код

        public static int CountIn(string str, string substring, bool IsUpper)
        {
            if (IsUpper)
            {
                str = str.ToUpper();
                substring = substring.ToUpper();
            }
            int start=0;
            int result=0, vspom;
            while((vspom=str.IndexOf(substring,start))!=-1)
            {
                start=vspom+1;
                result++;
            }
            return result;
        }

Автор: SpaceSpace 1.6.2007, 08:02
Можно так:
используешь регулярное выражения(суть есть автомат, машина тьюринга)

К стати очень сильное средство, при правильном использовании
берет на себя очень много головной боли
подключаешь это пространство
Код

using System.Text.RegularExpressions;

Код

            // это твоё вхождение
            string slovo = "gg";
            // это текст, где нудно подсчитать голичество вхождений 
            // как видишь, gg встречается 2 раза
            string text = "gvehjbw;ggljebw;lkgfggh";
            //  создаем новое регулярное выражение
            Regex reg = new Regex(slovo);
            // Массив совпадений с выражением
            MatchCollection mc = reg.Matches(text);
            // это твое икомое количество совпадений
            int c = mc.Count;


Если есть вопросы - спрашивай, помогем, чем могем

Автор: Mymik 1.6.2007, 10:10
SpaceSpace, можно чуть-чуть быстрее. Поскольку в Regex есть статический метод Matches
Код

System.Text.RegularExpressions.Regex.Matches("где ищим", "что ищим", System.Text.RegularExpressions.RegexOptions.IgnoreCase).Count;

Третий параметр это флажек. Думаю разберешься для чего он нужен

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)