|
v7: Вставить символ в середину строки |
☑ |
0
Mafiozaa
27.01.21
✎
03:48
|
Привет, могу ли я как то штатно, вставить символ в центр строки?
НайденныйСимвол = Найти(SGTIN, """");
Если НайденныйСимвол > 1 Тогда
СтрЗаменить(SGTIN, """", """""");
Файл.ДобавитьСтроку("""" + СокрЛП(SGTIN) + """" + ",," + Цена + "," + СуммаНДС);
КонецЕсли;
Логика какая, в цикле ищу наличие символа (кавычки) ну и если они есть, мне нужно добавить еще одну (следующим символом)
|
|
1
Mafiozaa
27.01.21
✎
03:50
|
Проверил через попытку, стр заменить выполняется, но изначальную строку никак не изменяет
|
|
2
Cthulhu
27.01.21
✎
04:04
|
SGTIN = СтрЗаменить(SGTIN, """", """""");
|
|
3
Cthulhu
27.01.21
✎
04:05
|
ну или вообще без (2) - тупо в одну строку:
Файл.ДобавитьСтроку("""" + СтрЗаменить(СокрЛП(SGTIN),"""","""""") + """" + ",," + Цена + "," + СуммаНДС);
|
|
4
Mafiozaa
27.01.21
✎
04:08
|
(3) Да, действительно при каждом вхождении "" в строку добавляет еще одну, то что нужно, благодарь
|
|
5
Злопчинский
27.01.21
✎
09:07
|
(4) главное по этой строке повторно потом не пройтись
|
|
6
Митяйский
27.01.21
✎
09:20
|
(5) Экранирование кавычек по-любому должно в несколько проходов идти.
|
|
7
АЛьФ
27.01.21
✎
09:29
|
2(6) Если уж экранировать кавычки, то тогда уж как-то так:
стр = "Тестовая строка: "" - это кавычка";
стр = ЗначениеВСтроку(стр);
стр = Сред(стр, 12);
стр = Лев(стр, СтрДлина(стр) - 2);
|
|