Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
30 сен 2024, 12:33

Замена пробелов в строке

Автор Sheriff, 03 июл 2017, 11:37

0 Пользователей и 2 гостей просматривают эту тему.

alex0402

Цитата: Sheriff от 04 июл 2017, 08:27Это если у меня в Адресе, первый идет индекс начинающийся с 0, а если индекс начинается не с 0, то как быть?

в цикле от 0 до 9.
Спасибо за Сказать спасибо

Sheriff

Цитата: alex0402 от 04 июл 2017, 08:50
Цитата: Sheriff от 04 июл 2017, 08:27Это если у меня в Адресе, первый идет индекс начинающийся с 0, а если индекс начинается не с 0, то как быть?

в цикле от 0 до 9.
Не могу организовать программно, чтобы он продолжал поиск от 0 до 9 и потом корректно выгружал.
Как это будет выглядеть в моем случае?
Добавлено: 04 июл 2017, 09:30


Цитата: alex0402 от 04 июл 2017, 08:50
Цитата: Sheriff от 04 июл 2017, 08:27Это если у меня в Адресе, первый идет индекс начинающийся с 0, а если индекс начинается не с 0, то как быть?

в цикле от 0 до 9.
Если приписываю цикл, то либо зависает, либо вообще не выдает в файле адрес

alex0402

Цитата: Sheriff от 04 июл 2017, 09:07Если приписываю цикл, то либо зависает, либо вообще не выдает в файле адрес

неправильно прописал.
Спасибо за Сказать спасибо

Sheriff

Цитата: alex0402 от 04 июл 2017, 09:52
Цитата: Sheriff от 04 июл 2017, 09:07Если приписываю цикл, то либо зависает, либо вообще не выдает в файле адрес

неправильно прописал.
Для Адрес = 0 по 9 Цикл
Поз = Найти(Адрес, "0" );
Если Сред(Адрес,Поз-1,1) = "," Тогда
   Адрес = Лев(Адрес,Поз-2) + " " + Сред(Адрес,Поз);

КонецЕсли;
       КонецЦикла;
Если так делаю, то в адресе вообще пусто. По разному пробовал, но не выходит чет у меня

alex0402

Для СимволАдрес = "0" по "9" Цикл
Поз = Найти(Адрес, СимволАдрес );
Если Сред(Адрес,Поз-1,1) = "," Тогда
   Адрес = Лев(Адрес,Поз-2) + " " + Сред(Адрес,Поз);

КонецЕсли;
КонецЦикла;
Спасибо за Сказать спасибо

Sheriff

Цитата: alex0402 от 04 июл 2017, 10:40
Для СимволАдрес = "0" по "9" Цикл
Поз = Найти(Адрес, СимволАдрес );
Если Сред(Адрес,Поз-1,1) = "," Тогда
   Адрес = Лев(Адрес,Поз-2) + " " + Сред(Адрес,Поз);

КонецЕсли;
КонецЦикла;

Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Для СимволАдрес = "0" по "9" Цикл

ilyay

Ну что ж вы так мучаете эту программу?
Для Инд = 0 По 9 Цикл
    Адрес = СтрЗаменить(Адрес, ","+Инд, ", "+Инд);
КонецЦикла;

Sheriff

Цитата: ilyay от 04 июл 2017, 10:53
Ну что ж вы так мучаете эту программу?
Для Инд = 0 По 9 Цикл
    Адрес = СтрЗаменить(Адрес, ","+Инд, ", "+Инд);
КонецЦикла;

Да тут очень интересная программа)
Теперь, если у меня в адресе не указан индекс, то получается вот так: Российская*Федерация,*г.Барнаул,*ул.*Ломоносова
При выгрузке, если бы стоял индекс, то было бы Российская*Федерация, 656000 г.Барнаул,*ул.*Ломоносова, без * после РФ. Сейчас у меня эта * выходит, как от нее избавиться, чтобы перед буквами она тоже не выходила?

alex0402

Цитата: Sheriff от 04 июл 2017, 10:52Для СимволАдрес = "0" по "9" Цикл
мда засада. действительно от  строки до строки нельзя!!!

а если как то так?
Для СимволАдрес = 0 по 9 Цикл
Поз = Найти(Адрес, Символ(КодСимвола("0") + СимволАдрес );
Спасибо за Сказать спасибо

Sheriff

Цитата: alex0402 от 04 июл 2017, 11:24
Цитата: Sheriff от 04 июл 2017, 10:52Для СимволАдрес = "0" по "9" Цикл
мда засада. действительно от  строки до строки нельзя!!!

а если как то так?
Для СимволАдрес = 0 по 9 Цикл
Поз = Найти(Адрес, Символ(КодСимвола("0") + СимволАдрес );

Решилось этим:
Для Инд = 0 По 9 Цикл
    Адрес = СтрЗаменить(Адрес, ","+Инд, ", "+Инд);
КонецЦикла;
Но есть другое теперь))очень интересная программа)
Теперь, если у меня в адресе не указан индекс, то получается вот так: Российская*Федерация,*г.Барнаул,*ул.*Ломоносова
При выгрузке, если бы стоял индекс, то было бы Российская*Федерация, 656000 г.Барнаул,*ул.*Ломоносова, без * после РФ. Сейчас у меня эта * выходит, как от нее избавиться, чтобы перед буквами она тоже не выходила?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск