Загрузка данных


Функция НайтиПодозрительныеСлова(Знач Текст)
    Результат = Новый Массив;
    Текст = СтрЗаменить(Текст, Символы.ВК, "");
    Строки = СтрРазделить(Текст, Символы.ПС, Истина);
    Для Н = 0 По Строки.ВГраница() Цикл
        Стр = Строки[Н] + " "; // пробел закрывает последнее слово
        Слово = ""; Кир = Ложь; Лат = Ложь; Чуж = Ложь;
        Для i = 1 По СтрДлина(Стр) Цикл
            С = Сред(Стр, i, 1);
            К = КодСимвола(С);
            ЭтоКир = (К >= 1040 И К <= 1103) ИЛИ К = 1025 ИЛИ К = 1105;
            ЭтоЛат = (К >= 65 И К <= 90) ИЛИ (К >= 97 И К <= 122);
            ЭтоЧуж = (К >= 192 И К <= 591) ИЛИ (К >= 880 И К <= 1279 И НЕ ЭтоКир)
                ИЛИ К = 173 ИЛИ (К >= 8203 И К <= 8205) ИЛИ К = 8288 ИЛИ К = 65279;
            ЭтоПрочее = (К >= 48 И К <= 57) ИЛИ К = 95;
            Если ЭтоКир ИЛИ ЭтоЛат ИЛИ ЭтоЧуж ИЛИ ЭтоПрочее Тогда
                Слово = Слово + С;
                Кир = Кир ИЛИ ЭтоКир; Лат = Лат ИЛИ ЭтоЛат; Чуж = Чуж ИЛИ ЭтоЧуж;
            Иначе
                Если (Кир И Лат) ИЛИ Чуж Тогда
                    Результат.Добавить(СтрШаблон("Стр. %1: %2%3", Н + 1, Слово,
                        ?(Чуж, " [чужой/невидимый символ]", "")));
                КонецЕсли;
                Слово = ""; Кир = Ложь; Лат = Ложь; Чуж = Ложь;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    Возврат Результат;
КонецФункции