Если мы используем метод Найти(НашаСтрока,"Что ищем");
то нам возвратится номер найденной строки.
Допустим мы ищем слово "Слон". По факту предположим таких слов у нас в строке встречается 3 раза.
Так вот как перебрать эти найденные строки без обрезания строки?
Когда большие строки на несколько тысяч символов и с разными шумами и признаками которые то добавляются то убираются крайне не удобно искать методом нарезки.
Знаю что например в делфи метод найти обходит найденные слова циклом.
Может можно как то создать ком объект туда засунуть нашу строку и что мы ищем? Кто то делал ?
Хотелось бы что бы это было без использования компонент. Думаю встроенных ком объектов кучу в 1С.
Встроенные функции языка.СтрЧислоВхождений (Script functions.StrOccurrenceCount)
Встроенные функции языка (Script functions)
СтрЧислоВхождений (StrOccurrenceCount)
Синтаксис:
RegExp = Новый COMОбъект("VBScript.RegExp"); // Объект для использования регулярных выражений
RegExp.IgnoreCase = Истина; //Игнорировать регистр
RegExp.Global = Истина; //Поиск всех вхождений шаблона
RegExp.MultiLine = Истина; //Многострочный
RegExp.Pattern = "слон";
Matches= RegExp.Execute("1слон 2слон 3слон");
ОчиститьСообщения();
Для Сч = 0 по Matches.Count()-1 Цикл
Match = Matches.Item(Сч);
Сообщить("" + Match.Value+ "");
КонецЦикла;
КонецПроцедуры
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс