Анализ строк

Обсуждаем вопросы посвященные интеграции с другими информационными системами

Анализ строк

Сообщение julyp » Вт янв 11, 2011 11:19 pm

В процессе интеграции очень часто встают задачи различного анализа строк.
Для примера приводим процедуру которая анализирует строку с целю выделения частей.
Как известно в строках существуют не только пробелы, а еще знаки препинания - данная конструкция учитывает эту особенность.
Конструкцию можно усложнить, например добавляя условия по определению текста заключенного в скобки или кавычки и т.д., - так что дерзайте и задавайте вопросы!

Код: Выделить всё
Процедура ВыделитьИзСтрокиЧасти(Строка, Часть1, Часть2, Часть3);
   КоличествоСимволов = СтрДлина(Строка);
   МассивСлов = Новый Массив;

   ТекущееСлово = "";
   
   Для н = 1 По КоличествоСимволов Цикл
      ТекущийСимвол = Сред(Строка, н, 1);
      
      Если ТекущийСимвол = " " Или ТекущийСимвол = "." Тогда
         Если ЗначениеЗаполнено(ТекущееСлово) Тогда
            МассивСлов.Добавить(ТекущееСлово);
         КонецЕсли;
         ТекущееСлово ="";
      Иначе
         ТекущееСлово = ТекущееСлово + ТекущийСимвол;
      КонецЕсли;
   КонецЦикла;
   
   Если ЗначениеЗаполнено(ТекущееСлово) Тогда
      МассивСлов.Добавить(ТекущееСлово);
   КОнецЕсли;
   
   Если МассивСлов.Количество()>1 Тогда
      Часть1 = МассивСлов[0];
   КонецЕсли;
   
   Если МассивСлов.Количество()>1 Тогда
      Часть2 = МассивСлов[1];
   КонецЕсли;
   
   Если МассивСлов.Количество()>2 Тогда
      Часть3 = МассивСлов[2];
   КонецЕсли;
   
КонецПроцедуры

julyp
Администратор
 
Сообщения: 127
Зарегистрирован: Вт май 25, 2010 6:55 am

Вернуться в Интеграция

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron