Имя: Пароль:
1C
1С v8
Убрать в строке лишние символы
0 alpha78
 
20.09.15
11:05
Добрый день, коллеги.
Подскажите, как в существующей строке убрать ненужные символы и оставить только последние. Таких функций в 1С нет, я смотрел. Спасибо!
1 Апош
 
20.09.15
11:06
стрзамени их на пустую строку
2 User_Agronom
 
20.09.15
11:10
(0) Напиши свою.
3 ДенисЧ
 
20.09.15
11:13
НоваяСтрока = ОбщийТелепат.УбратьНенужныеСимволы(ТвояСтрока);
4 PR третий
 
20.09.15
11:16
(2) Не надо писать свои, надо пользоваться типовыми из (3)
5 itlikbez
 
20.09.15
11:23
(0) сколько последних?
6 User_Agronom
 
20.09.15
11:29
(4) Ой! Это если символ (или сочетание символов) один (одно).

А если несколько?

Если бы мой личный телепат не ездил часто в отпуск, я мог бы предположить, что СокрЛП ТС подойдёт.
7 PR третий
 
20.09.15
11:34
(6) Тогда надо использовать необязательный второй параметр ОбщийТелепат.УбратьНенужныеСимволы(ТвояСтрока, Истина);
8 Defender aka LINN
 
20.09.15
11:36
(0) "Таких функций в 1С нет, я смотрел"
Ну, значит никак.
9 User_Agronom
 
20.09.15
11:37
(7) Теоретик из тебя никакой.
Имя переменной не может быть Истина. Это зарезервированное слово.
10 ВедущийП
 
20.09.15
11:38
не, лучше испольовать СтроковыеФункции.СделатьВсеКакНадо(ИсходнаяСтрока)
11 PR третий
 
20.09.15
11:39
(9) А это и не переменная как бэ, это константа. Я же не описание функции написал, а ее вызов.
12 PR третий
 
20.09.15
11:40
(10) /то из пушки по воробьям и слишком непрозрачно,
13 PR третий
 
20.09.15
11:40
(12) "Это ... ."
14 User_Agronom
 
20.09.15
11:43
(11) Отмаз не принят. Слишком слабо.
15 itlikbez
 
20.09.15
12:04
[CODE]
Функция УбратьНенужныеСимволы(ИсходнаяСтрока)
результат="";
для й=1 по стрдлина(ИсходнаяСтрока) цикл
  если кодсимвола(ИсходнаяСтрока,й)=1081 или кодсимвола(ИсходнаяСтрока,й)=1091 или кодсимвола(ИсходнаяСтрока,й)=1093 тогда
    результат=результат+сред(ИсходнаяСтрока,й,1);
  конецесли;
конеццикла;
возврат результат;
КонецФункции
[/CODE]

Проверял на тестовой строке: "холмы укрыты тьмой".
Работает.
16 User_Agronom
 
20.09.15
12:11
(15) [CODE]
Функция УбратьНенужныеСимволы(ИсходнаяСтрока, СтрокаНеНужныхСимволов)
результат="";
для й=1 по стрдлина(ИсходнаяСтрока) цикл
  если Найти(СтрокаНеНужныхСимволов, Сред(ИсходнаяСтрока,й,1))=0  тогда
    результат=результат+сред(ИсходнаяСтрока,й,1);
  конецесли;
конеццикла;
возврат результат;
КонецФункции
[/CODE]
17 itlikbez
 
20.09.15
12:15
(16) Мой вариант более эргономичен.
18 kosts
 
20.09.15
13:24
(15) А ты шутник, однако
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс