|
Есть ли какой-нить редактор строки в строке в строке (кавычки в кавычках)? | ☑ | ||
---|---|---|---|---|
0
SeiOkami
20.09.16
✎
10:52
|
Имеем строку, которую передаём как параметр в процедуру. В тексте строки есть строка. А в этой строке есть другая строка. А где-то там ещё лежит знак кавычки. Так вот: есть ли что-нить облегчающее работу с такими вложенными строками, а то постоянно путаюсь в кавычках
|
|||
1
Лефмихалыч
20.09.16
✎
10:53
|
Новый COMОбъект("Vbscript.Regexp")
|
|||
2
Волшебник
модератор
20.09.16
✎
10:53
|
извращенец...
|
|||
3
Волшебник
модератор
20.09.16
✎
10:54
|
а = "строка1";
б = "строка 2" + а + "строка 2.2" в = б + а; и т.д. |
|||
4
НЕА123
20.09.16
✎
10:55
|
(0)
конструктор запросов разок мне помог. |
|||
5
SeiOkami
20.09.16
✎
10:56
|
(3), это что-то не то. в твоём примере не будет в строке вложенной строки. Это будут просто сложенные строки
|
|||
6
SeiOkami
20.09.16
✎
10:57
|
(4), я думал о нём, но как его применить для произвольных строк. Он же постоянно проверяет на соответствие языку запросов
|
|||
7
SeiOkami
20.09.16
✎
10:58
|
Сделал обработку с такой функцией:
Функция ОбернутьСтрокуВКавычки(Знач ОборачиваемаяСтрока) ОборачиваемаяСтрока = СтрЗаменить(ОборачиваемаяСтрока, """", """"""); ОборачиваемаяСтрока = """" + ОборачиваемаяСтрока + """"; Возврат ОборачиваемаяСтрока; КонецФункции Но как распарсить обратно недогоняю |
|||
8
f_vadim
20.09.16
✎
10:58
|
(6) ВЫБРАТЬ "строка"
попробуй и удивись |
|||
9
Garykom
гуру
20.09.16
✎
11:00
|
Есть JSON и XML нафуя этот изврат с "вложенными строками" ?
|
|||
10
SeiOkami
20.09.16
✎
11:00
|
(8), ну так это будет ОДНА вложенная в другую строка. Как мне в ней ещё один редактор строк запустить?
|
|||
11
Лефмихалыч
20.09.16
✎
11:01
|
(7) а какая цель в этом всем?
|
|||
12
aleks_default
20.09.16
✎
11:01
|
(9)он свой XML изобретает
|
|||
13
Лефмихалыч
20.09.16
✎
11:02
|
да, и самый православный способ распарсивать - это написать конечный автомат для этого.
|
|||
14
f_vadim
20.09.16
✎
11:03
|
(10) тут я уже перестал понимать чего тебе нужно
|
|||
15
SeiOkami
20.09.16
✎
11:09
|
Например:
Новый Структура("Запрос", "Новый Запрос(""Выбрать Ссылка Из Справочник.Валюты Где Код = """"ааа"""""")") В результате будет создана структура с запросом. Но редактировать такую строку неудобно. |
|||
16
Garykom
гуру
20.09.16
✎
11:11
|
Идиотизм
|
|||
17
xafavute
20.09.16
✎
11:12
|
(16) например параметры в бат файле
|
|||
18
Garykom
гуру
20.09.16
✎
11:15
|
(17) угу параметры в бат файле с запросами...
для батников, точнее для автоматического создания bat файлов там же просто делаем переменную Кавычки = """"; и потом плюсуем в строку столько раз сколько нуна... |
|||
19
Garykom
гуру
20.09.16
✎
11:16
|
(18)+ еще лучше сделать короткую функцию Кав(КоличествоКавычек) и все
|
|||
20
SeiOkami
20.09.16
✎
11:19
|
(18), не важно зачем. Важно как.
|
|||
21
f_vadim
20.09.16
✎
11:22
|
(20) зачем тоже важно. может ты выбрал неправильный путь.
можно ограничить окавычивание первым уровнем, но тут тоже легко запутаться Сообщить(СтрШаблон("Новый Запрос(""%1"")", СтрШаблон("Выбрать * ГДЕ Код = ""%1""", "ааа"))) |
|||
22
Волшебник
модератор
20.09.16
✎
11:23
|
(5) Ну добавь ты кавычки
|
|||
23
1dvd
20.09.16
✎
11:24
|
Мы сделали редактор строки внутри редактора строки, чтобы вы могли редактировать строку, пока редактируете строку
|
|||
24
Лефмихалыч
20.09.16
✎
11:24
|
(15) с кавычками горя хапнешь. Выбери другой формат хранения.
JSON, xml, да хоть ЗначениеВСтрокуВнутр |
|||
25
SeiOkami
20.09.16
✎
11:25
|
(22) -> (7)
|
|||
26
SeiOkami
20.09.16
✎
11:25
|
(24), тут нюанс в том, что я не могу выбрать другой формат. Нужно использовать именно кавычки в кавычках и т.д.
|
|||
27
f_vadim
20.09.16
✎
11:27
|
(26) замени кавычки на некавычки - апострофы, квадратные скобки, перед вызовом делай обработку с заменой.
|
|||
28
Лефмихалыч
20.09.16
✎
11:28
|
(27) что это даст?
|
|||
29
xafavute
20.09.16
✎
11:28
|
кстати сам конструктрор запроса есть редактор строки в кавычках
|
|||
30
xafavute
20.09.16
✎
11:29
|
(28) читабельность
|
|||
31
f_vadim
20.09.16
✎
11:31
|
(28) не нужно считать количество кавычек. переложить это на программную обработку.
|
|||
32
Лефмихалыч
20.09.16
✎
11:32
|
(30) так ему не глазами же. А программно абсолютно пофиг, кавычка там или скобка.
(26) тогда - конечный автомат, который посимвольно читает строку и разбирает ее на составляющие. Туева хуча скучного кода - да. Но, раз условия задачи неизменные, живи с этим. |
|||
33
SeiOkami
20.09.16
✎
11:34
|
(32), живет надежда на то, что где-то это уже есть
|
|||
34
Лефмихалыч
20.09.16
✎
11:35
|
(33) на ИС смотрел?
|
|||
35
SeiOkami
20.09.16
✎
11:35
|
(34), ничего не нагуглилось. Но может нужно суметь сформулировать эту фигню
|
|||
36
Лефмихалыч
20.09.16
✎
11:41
|
(35) откуда ты эти строчки в строчках-то получаешь?
|
|||
37
SeiOkami
20.09.16
✎
11:49
|
(36), сам собираю. Вручную. А хотелось бы редактором
|
|||
38
Лефмихалыч
20.09.16
✎
11:52
|
(37) почему тогда (26)? Собирай json и не люби мозг!
|
|||
39
SeiOkami
20.09.16
✎
11:53
|
(38), я создаю строки, которые передаю в метод, который я не могу изменить. Чтобы удобнее создавать строки нужен редактор
|
|||
40
Лефмихалыч
20.09.16
✎
11:56
|
(39) чо-т ты путаешься в показаниях. Раньше ты говорил, что проблема распарсить такую строку обратно в смысл, а сейчас ты говоришь, что проблема закодировать.
Хрена ли там кодировать? Строка = ЗакодироватьВХлам(ЗакодироватьВХлам(Одно)+ЗакодироватьВХлам(ЗакодироватьВХлам(другое)+"="+ЗакодироватьВХлам(Третье))); Функция ЗакодироватьВХлам(Строка) Возврат """"+Строка+""""; КонецФункции |
|||
41
SeiOkami
20.09.16
✎
12:00
|
(40), распарсить нужно, чтобы сделать удобный редактор. Берешь редактор, собираешь в нём супер-строку. А потом когда нужно её в этом же редакторе и корректируешь.
|
|||
42
Garykom
гуру
20.09.16
✎
12:01
|
Чем то напоминает "сначала создаем себе трудности, а потом героически их преодолеваем"©
|
|||
43
SeiOkami
20.09.16
✎
12:03
|
(42), я уже понял, что ты ничем не можешь помочь
|
|||
44
Garykom
гуру
20.09.16
✎
12:06
|
(43) Шо даже (18) и (19) не понял?
|
|||
45
SeiOkami
20.09.16
✎
12:08
|
(44), прочти (0)
суть как раз в том, чтобы НЕ считать кавычки. А ты предлагаешь их считать |
|||
46
Garykom
гуру
20.09.16
✎
12:17
|
Мдя... действительно не понял... что функцию то можно сделать "глобальной" и передавать
Новый Структура("Запрос", "Новый Запрос(Кавычки(1)+"Выбрать Ссылка Из Справочник.Валюты Где Код = "+Кавычки(1)+"ааа"+Кавычки(1)+")") |
|||
47
Garykom
гуру
20.09.16
✎
12:20
|
(46)+ Сорри слегка ошибся в коде, но суть что внутри строки передается не готовая строка, а строка с функциями для сборки.
|
|||
48
SeiOkami
20.09.16
✎
12:28
|
(47), это всё не про то, забей
|
|||
49
xafavute
20.09.16
✎
12:32
|
Лучше так
СтрВКавычках(Новый Запрос(СтрВКавычках(Выбрать Ссылка Из Справочник.Валюты Где Код = [ааа]))); |
|||
50
xafavute
20.09.16
✎
12:33
|
вернее так
СтрВКавычках(Новый Запрос(СтрВКавычках("Выбрать Ссылка Из Справочник.Валюты Где Код = [ааа]"))); |
|||
51
xafavute
20.09.16
✎
12:35
|
последний вариант
СтрВКавычках("Новый Запрос(СтрВКавычках([Выбрать Ссылка Из Справочник.Валюты Где Код = [ааа]]))"); Хотя лажа получается, скобочки нужно теперь считать |
|||
52
ixijixi
20.09.16
✎
13:00
|
||||
53
Garykom
гуру
20.09.16
✎
13:19
|
Новый Структура("Запрос", "Новый Запрос( СтрокаВКавычках("Выбрать Ссылка Из Справочник.Валюты Где Код = СтрокаВКавычках(ааа)")
)") Но считать скобки ничем не лучше чем считать кавычки... Поэтому JSON и не париться
|
|||
54
SeiOkami
20.09.16
✎
13:44
|
(53), совершенно не понимаю к чему ты это написал. Как JSON поможет мне редактировать строки с экранированием кавычек?
|
|||
55
Garykom
гуру
20.09.16
✎
13:50
|
(54) Функция которая твой текст JSON переведет в строку нужного вида с нужным числом кавычек
|
|||
56
Garykom
гуру
20.09.16
✎
13:52
|
(55)+ Суть что пишешь текст в JSON, затем перед отправкой на сервер/другой модуль СтрокаИзJSON(ТекстJSON) и это уже и отправляешь.
|
|||
57
trdm
20.09.16
✎
14:00
|
(0) Передавай список.
|
|||
58
gitotuta
20.09.16
✎
14:03
|
(53) У тебя неверный джсон, новый запрос это НЕ реквизит
|
|||
59
Garykom
гуру
20.09.16
✎
14:05
|
(58) Не путаем пример/демо с готовым рабочим кодом?
|
|||
60
gitotuta
20.09.16
✎
14:06
|
(59) у тебя пример оторван от жизни
|
|||
61
Garykom
гуру
20.09.16
✎
14:13
|
(60) Вся ветка оторвана от жизни и что? Поймите если увидят в конфе/проге подобный черный ход/дырку типа которой хочет использовать ТС?
При нормальном проектировании/разработке системы таких извратов просто не требуется. |
|||
62
gitotuta
20.09.16
✎
14:24
|
(61) Набери этот же пример в джсон
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |