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

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

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

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

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

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

Оффлайн Dethmontt

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

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

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


Теги:
 

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

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

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

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

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

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

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

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

Ответов: 2
Просмотров: 7716
Последний ответ 06 Май 2015, 23:03
от Iater
Изменение строки "Скидка" в чеке ККМ в Розница 2.2

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

Ответов: 1
Просмотров: 400
Последний ответ 06 Апр 2017, 08:40
от magnifico61

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 262
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal