Как вставить в строке пробел после 14-го символа?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура ВставитьСимволВСтроку(Строка="qwertyytrewq", Символ="-", ПозицияВставки=6);
Массив = Новый Массив;
Для Позиция=0 По СтрДлина(Строка)-1 Цикл
Массив.Вставить(Позиция, Сред(Строка, Позиция+1, 1));
КонецЦикла;
Массив.Вставить(ПозицияВставки, Символ);
Строка = СтрСоединить(Массив,"");
Сообщить(Строка); //qwerty-ytrewq
КонецПроцедуры
Показать
Похожая задачка нужно в строке - первый параметр расставить пробелы также как в строке-образце (маске) - второй параметр, причем, пробелов может быть произвольное количество. Может быть кому пригодится.
УстановитьВЗначенииПроблелыПоСтрокеОбразцу("0123456789", "0000 00 0 000");
Процедура УстановитьВЗначенииПроблелыПоСтрокеОбразцу(Значение, СтрокаОбразец)
Значение = СтрЗаменить(Значение, " ", "");
ПозицииПробелов = Новый Массив;
СчВх = 1;
Пока Истина Цикл
Позиция = СтрНайти(СтрокаОбразец, " ",,, СчВх);
СчВх = СчВх + 1;
Если Позиция > 0 Тогда
ПозицииПробелов.Добавить(Позиция);
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
Результат = "";
Сч = 1;
СчСтр = 1;
КоличПроб = 0;
Для Каждого Позиция Из ПозицииПробелов Цикл
Если Сч = Позиция Тогда
Результат = Результат + " ";
Сч = Позиция + 1;
КоличПроб = КоличПроб + 1;
Продолжить;
КонецЕсли;
Пока СчСтр < Позиция - КоличПроб Цикл
Результат = Результат + Сред(Значение, СчСтр, 1);
СчСтр = СчСтр + 1;
КонецЦикла;
Результат = Результат + " ";
Сч = Позиция + 1;
КоличПроб = КоличПроб + 1;
КонецЦикла;
Результат = Результат + Сред(Значение, СчСтр);
Значение = Результат;
КонецПроцедуры
Показать
(13)
Чуть проще:
Чуть проще:
Процедура УстановитьВЗначенииПроблелыПоСтрокеОбразцу(Значение, СтрокаОбразец)
Результат = "";
МассивОбразец = СтрРазделить(СтрокаОбразец," ");
ПозицияНачала = 1;
Для Инд = 0 По МассивОбразец.Количество()-1 Цикл
ТекЭлемент = МассивОбразец[Инд];
ДлинаЭлемента = СтрДлина(ТекЭлемент);
Если ДлинаЭлемента>0 Тогда
Результат = Результат + Сред(Значение,ПозицияНачала,ДлинаЭлемента);
ПозицияНачала = ПозицияНачала + ДлинаЭлемента;
КонецЕсли;
Результат = Результат + " ";
КонецЦикла;
Значение = Результат;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот