Имя: Пароль:
1C
1С v8
как убрать пробел из строки. СтрЗаменить() не помогает
0 Игорь_МММ
 
12.10.16
17:56
строка исходная "1 620,5" тип-строка. Почему СтрЗаменить(стр.Ширина," ","") не убирает пробел? Вообще получается что там не пробел вовсе, Найти(стр.Ширина," ") возвращает 0.
В конце концов нужно Вычислить("1 620,5"), запятая на точку нормально меняется, а с этим "пробелом" беда какая-то. Что это такое и как с этим побороться?
1 Господин ПЖ
 
12.10.16
17:57
2353464564557-ая жертва неразнывного пробела
2 timurhv
 
12.10.16
18:03
(0)
Пока Найти(СтрИсходная, Символы.НПП) > 0 Цикл
СтрИсходная = СтрЗаменить(СтрИсходная, Символы.НПП, "");
КонецЦикла;
3 SadrArt
 
12.10.16
18:04
(2) а зачем здесь цикл?
4 PR
 
12.10.16
18:05
(3) Для надежности
5 Игорь_МММ
 
12.10.16
18:06
(2) спс
6 timurhv
 
12.10.16
18:09
(3) Что вернет один раз СтрЗаменить от числа "1 000 123,89"?
7 Euguln
 
12.10.16
18:11
(6) И что же?
8 1sanekmaloi1
 
12.10.16
18:12
(6)

СтрЗаменить(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>)


Находит в исходной строке все вхождения подстроки поиска и заменяет ее на подстроку замены.
9 Господин ПЖ
 
12.10.16
18:13
>Для надежности

+1

цикл это хорошо, цикл это надежно (с) борис бритва
10 Cyberhawk
 
12.10.16
18:17
Про лишний цикл уже было?
11 timurhv
 
12.10.16
18:17
(9) Ссори, переклинило.
Цикл использовал когда из строки с несколькими пробелами надо было сделать один.
"Контрагент_-_1" переделать "Контрагент_1"
12 1sanekmaloi1
 
12.10.16
18:18
Согласен, надежность в наше неспокойное время важна.
(0) оставляй как в (2)
13 Irbis
 
12.10.16
18:56
(11) А какая разница? Неразрывный пробел херить или обычный, или ещё какой символ?
14 1sanekmaloi1
 
12.10.16
19:37
(13) наверное имелл в виду из одного, двух, трех, четырех и т.д. подряд идущих пробелов сделать один.тогда в цикле заменяя двойной на одинарный можно достич результата.
15 Лефмихалыч
 
12.10.16
19:42
(0) вместо вот этой всей тряхомудии со стырзаменитём, сыграй на опережение: Формат(Число, "ЧГ=0"). Чтобы числа получались без всяких там пробелов
16 b_ru
 
12.10.16
19:51
(15) прав. Остальные, вон из профессии.
17 trooba
 
12.10.16
22:59
(12) "Тяжесть — это хорошо. Тяжесть — это надежно. Даже если не выстрелит, таким всегда можно дать по голове."
18 _Дайвер_
 
13.10.16
03:44
(15) Дело говоришь)
19 assasu
 
13.10.16
05:15
(15) взял на вооружение "тряхомудие". полезное слово. емкое.
20 Хуан
 
13.10.16
05:46
XMLСтрока()
21 oslokot
 
13.10.16
07:51
а цикл все же избыточен, имхо
22 Злопчинский
 
13.10.16
08:00
Для не знающих дао программирования
Неразрывный пробел это символ с кодом 160
С теклады алт плюс 0160
23 Злопчинский
 
13.10.16
08:05
(21) есть строка из слов
Слова разделяются пробелами
Количество пробелов подряд идущих Интегра ничего
Пользуясь стрзаменить и символом пробела привести строку к словам с разделением одним пробелом
24 Злопчинский
 
13.10.16
08:11
(0) в принципе можно догадаться почему
Потому что если число представить в виде строки, то такая строка при выводе с недостатком места на пробеле  раазделителе разрядов порвется как баян на похоронах тёщи. А это очень некузяво, поэтому и не рвётся и значит там не пробел
25 titan_aleks
 
13.10.16
08:24
"ЧГ=0"
26 aka AMIGO
 
13.10.16
08:29
(22) Времена, когда дао было целью - давно миновали :)
Теперь это средство, не представляющее интереса до тех пор, пока не прижмут обстоятельства :)
Любопытством уже никто из современных не страдает, голый практицизм: средство не приносит денег, стало быть не нужно.
27 Злопчинский
 
13.10.16
08:32
(26) я писал ранее
Этот НПП сыграл роковую роль при моём начале с восьмеркой
28 aka AMIGO
 
13.10.16
08:34
(27) Я помню :)
29 newbling
 
13.10.16
09:54
(27) Заинтриговал. Что случилось с НПП?
30 oslokot
 
13.10.16
14:26
(23) Задача была убрать Все пробелы, не?
31 Garykom
 
гуру
13.10.16
14:48
(26) Кста скоро программирование из искусства в банально ремесло превратится окончательно.
"Программистом" будут обзывать умеющего "типовые блоки" складывать с помощью некоего продвинутого аналога КД.
32 Лефмихалыч
 
13.10.16
15:07
(31) программирование всегда было ремеслом.
33 newbling
 
13.10.16
15:10
(31) сколько я уже наслушался "экспертов", которые говорили, что вот-вот, ни сегодня-завтра всё программирование превратится в накидывание мышкой модулей.
34 newbling
 
13.10.16
15:10
которые "сами всё умеют уже"
35 zladenuw
 
13.10.16
15:11
(0) Формат(ТвояСтрока,"ЧГ=0")
36 Дарлок
 
13.10.16
15:14
программирование всегда было искусством, но есть те, кто с помощью него только зарабатывает деньги.
37 НЕА123
 
13.10.16
15:18
(30)
видимо 1 пробел надо оставить между словами,
как-то так

Пока Найти(СтрИсходная, "  ") > 0 Цикл
СтрИсходная = СтрЗаменить(СтрИсходная, "  ", " ");
КонецЦикла;