Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
28 Май 2018, 03:58
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как вырезать нужные символы из строки?  (Прочитано 10270 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн maxkov

  • *
  • Сообщений: 36
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-11
  • Сайт: 
Подскажите, как вырезать номер ТТН из данной строки: апол рмаввл, оар 456 орр матав дшвг45рмдашг ТТН 498 парпав436пмс  амм4ап паа 5"
В общем, все остальное не нужно, нужен только номер ТТН, т.е 498.

Находим слово ТТН, а дальше? Подскажите функцию?


Оффлайн Big Mike

  • *
  • Сообщений: 43
  • РЕПУТАЦИЯ: 21
  • КПД: 49%
  • Регистрация: 2011-10-11
  • Сайт: 
  • Профессия: Консультант 1С
Однозначно сказать сложно, т.к. не понятно, как формируется данная строка. Если допустить, что всегда есть фраза "ТТН", затем пробел, затем n-значное число, а затем снова пробел и далее фигня всякая, то да:
1. Находим "ТТН";
2. Выделяем строку с 5 знака справа от "ТТН" до конца;
3. В строке из п.2 ищем первое вхождение пробела и все что левее и будет номер ТТН.  Для уверенности в конце можно еще проверить, что в номер ттн входят только числа, и нет ни каких других символов.

Оффлайн NazarovS

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-03
  • Сайт: 
  • Профессия: Программист 1С
как то так

Процедура Команда1(Команда)
   
   стр = "апол рмаввл, оар 456 орр матав дшвг45рмдашг ТТН 498 парпав436пмс  амм4ап паа 5";
   //находим первое вхождение фразы "ТТН"
   СтартСимв = найти(Нрег(стр),"ттн");
   //обрезаем строку
   стр = сред(стр, СтартСимв+4, СтрДлина(стр)-СтартСимв);
   //выбираем номер
   СтартПробел = найти(стр," ");
   НомерТТН = СокрЛП(Лев(стр,СтартПробел));
   сообщить(НомерТТН);
   
КонецПроцедуры

Оффлайн Skellar

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 2
  • КПД: 9%
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Программист 8.1
еще можешь посмотреть про регулярные выражения в 1С, может поможет.

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Строка = "апол рмаввл, оар 456 орр матав дшвг45рмдашг ТТН 498 парпав436пмс  амм4ап паа 5";
НомерТТН = ВернутьНомерТТН(Строка," ");

Функция ВернутьНомерТТН(Строка,Разделитель)
МассивСлов = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Строка,Разделитель);
Если МассивСлов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
Для Счетчик=0 По МассивСлов.Количество() -1 Цикл
Если НРег(МассивСлов[Счетчик]) = "ттн" Тогда
    Возврат МассивСлов[Счетчик] +" "+МассивСлов[Счетчик+1];
КонецЕсли;
КонецФункции
КонецЦикла;

//Как вариан использовать вот такую функцию
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Строка = "апол рмаввл, оар 456 орр матав дшвг45рмдашг ТТН 498 парпав436пмс  амм4ап паа 5";
НомерТТН = ВернутьНомерТТН(Строка," ");

Функция ВернутьНомерТТН(Строка,Разделитель)
МассивСлов = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Строка,Разделитель);
Если МассивСлов.Количество() = 0 Тогда
Возврат "";
КонецЕсли;
Для Счетчик=0 По МассивСлов.Количество() -1 Цикл
Если НРег(МассивСлов"["Счетчик"]") = "ттн" Тогда
    Возврат МассивСлов"["Счетчик"]" +" "+МассивСлов"["Счетчик+1"]";
КонецЕсли;
КонецФункции
КонецЦикла;

//Как вариан использовать вот такую функцию
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

Не активны кнопки "Добавить" и "Удалить" дополнительные строки в отчете по НДС

Автор kiksiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 316
Последний ответ 25 Янв 2018, 14:50
от kiksi
Как при вставке текста запроса с консоли запроса ив программный код конфигурации автоматически добавлять прямую черту в начале каждой строки

Автор ktu78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2452
Последний ответ 16 Ноя 2015, 08:12
от KrivosheevEV
Возможно ли языком запросов без конкатенации текста запроса и без СКД преобразовать строки таблицы в столбцы (колонки) выходной таблицы?

Автор acces969Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 689
Последний ответ 29 Май 2017, 15:29
от alex0402
"Уникальность" строки таблиной части документа

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2374
Последний ответ 20 Авг 2014, 12:22
от has
как перебрать строки в табличной части документа в форме документа

Автор IaterРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 10069
Последний ответ 06 Май 2015, 23:03
от Iater

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
139 Сообщений
alex0402
64 Сообщений
oleg-x
54 Сообщений
AIFrame AIFrame
53 Сообщений
buketov.av buketov.av
47 Сообщений
ilyay ilyay
39 Сообщений
wise wise
37 Сообщений
Анюта17
33 Сообщений
Alter
32 Сообщений
alexandr_ll
30 Сообщений

* Кто онлайн

  • Точка Гостей: 181
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal