Есть ли в 1С макроподстановка #653172


#0 by Azgerd
Есть строка: Строка = "ттттт [ИмяКлиента] тттттт" Как можно в Строке изменить подстроку "ИмяКлиента" на значение переменной ИмяКлиента, чтобы вместо "ттттт [ИмяКлиента] тттттт" получилось "ттттт ООО Рога и копыта тттттт".
#1 by SerMaxim
нет. плохая система... и главное недокументированная...
#2 by artems
Синтаксис: СтрЗаменить(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Параметры: Тип: Строка. Тип: Строка. Подстрока, на которую будет заменена подстрока поиска. Возвращаемое значение: Тип: Строка. Строка, полученная в результате замены. Описание: Находит в исходной строке все вхождения подстроки поиска и заменяет ее на подстроку замены. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
#3 by fmrlex
Ты на ассемблере до этого херачил? ))
#4 by artems
За год СП можно было бы и изучить :)
#5 by Azgerd
Как заменить подстроку я знаю. Я сначала не догнал как из строки "ИмяКлиента" получить значение переменной ИмяКлиента, вопрос решён: Вычислить("ИмяКлиента") = "ООО Рога и копыта". Спасибо.
#6 by dmpl
А зачем ты создавал строку "ИмяКлиента"?
#7 by shamannk
Так?
#8 by shamannk
+ Без скопки ]
#9 by badboychik
если прикрутить регулярные выражения то можно воопще парсить любые строки в которых встречаются объявленные ранее переменные
#10 by badboychik
в 7.7 была функция Шаблон, в восьмерке такой нету, печалька ((
#11 by Azgerd
[ИмяКлиента] в скобках я создал, чтобы относительно них из текста вырезать переменные. Например "Договор с [ИмяКлиента] от лица [ДолжностьРуководителя]" и т.д.
#12 by Azgerd
badboychik - а что значит "прикрутить регулярные выражения"?
#13 by badboychik
ну вот есть у тебя строка Ст = "Договор с #ИмяКлиента от лица #ДолжностьРуководителя" ты говоришь (языком 1С) - все выражения по шаблону "#(w+)" заменить на "Вычислить(Х.Replace(Ст,"$1"))"
#14 by pumbaEO
ОбщийМодуль.СтроковыеФункцииКлиентСервер Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки,    Знач Параметр1,    Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено,    Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено,    Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт
#15 by badboychik
и в Ст уже лежит результат
#16 by Serg_1960
#17 by dmpl
И где это потом используется?
#18 by badboychik
эх не сработает так, надо сначала найти все элементы реглярным выражением а потом в цикле заменять название на значение
#19 by badboychik
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С