Функция 1С Найти(СтрокаГдеИщем, СтрокаЧтоИщем) ищет в тексте первое вхождение нужной нам подстроки, и возвращает номер позиции первой буквы найденной подстроки в тексте.
Например:
- Выполняем 1С Найти(«Ежик смеялся и кушал кактус», «и кушал»)
- 1С возвращает номер позиции слова «и» — 14
- Выполняем 1С Найти(«Ежик смеялся и кушал кактус», «и»)
- 1С возвращает номер позиции буквы «и» в слове «ежик» — 3
- Выполняем 1С Найти(«Ежик смеялся и кушал кактус», «с иголками»)
- 1С возвращает 0, так как той подстроки, что мы ищем в тексте нет.
Аккуратно — если в параметре(ах) 1С Найти указана пустая строка, то вернет не 0, а 1.
На примере нашего анализатора текста сделаем с помощью 1С Найти – сохранение списка значений в строку с разделителями, и восстановление из строки в список значений обратно.
Допустим:
- что нам на «входе» подается массив или список значений (колонку таблицы значений можно выгрузить в массив с помощью метода ВыгрузитьКолонку())
- что значения в массиве/списке только строковые (т.е. не будем запоминать, число это было или строка)
- как пример «строки с разделителями»: «12;32;белый»
Пример использования созданных нами функций:
Список = Новый СписокЗначений();
Список.Добавить(22);
Список.Добавить(33.5);
Список.Добавить("Здесь был Петя");
Список.Добавить("Петя нашел йожика; а тот съел Петю");
Список.Добавить(ТекущаяДата());
Строка = ВСтрокуСРазделителями(Список);
СписокЗначений = ИзСтрокиСРазделителями(Строка);
Массив = СписокЗначений.ВыгрузитьЗначения();
Сообщения от 1С в результате выполнения этого кода:
22;33,5;Здесь был Петя;Петя нашел йожика#ЗДЕСЬ_БЫЛ_РАЗДЕЛИТЕЛЬ а тот съел Петю;25.10.2012 14:14:43
Входящая строка: 22;33,5;Здесь был Петя;Петя нашел йожика#ЗДЕСЬ_БЫЛ_РАЗДЕЛИТЕЛЬ а тот съел Петю;25.10.2012 14:14:43
Результат:
22
33,5
Здесь был Петя
Петя нашел йожика; а тот съел Петю
25.10.2012 14:14:43
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.