Разложить строку поиска массив слов. Превращает строку поиска в массив слов с уникальными значениями, отсортированный по убыванию длины.
// Превращает строку поиска в массив слов с уникальными значениями, отсортированный по убыванию длины.
Функция РазложитьСтрокуПоискаВМассивСлов(СтрокаПоиска) Экспорт
СловаИИхДлина = Новый СписокЗначений;
ДлинаСтроки = СтрДлина(СтрокаПоиска);
Слово = "";
ДлинаСлова = 0;
ОткрытаКавычка = Ложь;
Для НомерСимвола = 1 По ДлинаСтроки Цикл
КодСимвола = КодСимвола(СтрокаПоиска, НомерСимвола);
Если КодСимвола = 34 Тогда // 34 - двойная кавычка ".
ОткрытаКавычка = Не ОткрытаКавычка;
ИначеЕсли ОткрытаКавычка
Или (КодСимвола >= 48 И КодСимвола <= 57) // цифры
Или (КодСимвола >= 65 И КодСимвола <= 90) // латиница большие
Или (КодСимвола >= 97 И КодСимвола <= 122) // латиница маленькие
Или (КодСимвола >= 1040 И КодСимвола <= 1103) // кириллица
Или КодСимвола = 95 Тогда // символ "_"
Слово = Слово + Символ(КодСимвола);
ДлинаСлова = ДлинаСлова + 1;
ИначеЕсли Слово <> "" Тогда
Если СловаИИхДлина.НайтиПоЗначению(Слово) = Неопределено Тогда
СловаИИхДлина.Добавить(Слово, Формат(ДлинаСлова, "ЧЦ=3; ЧВН="));
КонецЕсли;
Слово = "";
ДлинаСлова = 0;
КонецЕсли;
КонецЦикла;
Если Слово <> "" И СловаИИхДлина.НайтиПоЗначению(Слово) = Неопределено Тогда
СловаИИхДлина.Добавить(Слово, Формат(ДлинаСлова, "ЧЦ=3; ЧВН="));
КонецЕсли;
СловаИИхДлина.СортироватьПоПредставлению(НаправлениеСортировки.Убыв);
Возврат СловаИИхДлина.ВыгрузитьЗначения();
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
РазложитьСтрокуВМассивСлов (БСП)
РазложитьСтрокуПоТочкамИСлэшам (БСП)
РазложитьСтрокуВМассивПодстрок (БСП)
Разложить массив по типам объектов
Выделение искомого слова в ТурбоПоиск
ОсуществитьПоискКонтактовПоСтроке (БСП)