Имя: Пароль:
1C
1С v8
СтрЗаменить(1 500," ","") не удаляет пробел
0 volody
 
07.06.13
09:40
НомерДляПр = Строка(НомерДляПр);
   СтрокаДляСтрДлина = СтрЗаменить(Строка(НомерДляПр), " ", "");


По отладчику прогонял входит число с екселя 1 500 доходит до СтрЗаменить в СтрокаДляСтрДлина поподает 1 500. Платформа 8.2.18.61.
Как побороть
1 Скай
 
07.06.13
09:41
Формат(НомерДляПр,ЧГ="")
2 НастоящееИмя
 
07.06.13
09:41
(0) Формат()
3 z80a
 
07.06.13
09:41
там не пробел
4 Stormicon
 
07.06.13
09:41
Там не простой пробел, а форматированный разделитель
5 wowik
 
07.06.13
09:41
значит это не пробел, посмотри код символа.
6 Smallrat
 
07.06.13
09:41
неразрывный пробел какойнить
7 Alexaha
 
07.06.13
09:42
(0) СтрЗаменить(Строка(НомерДляПр), Символы.НПП, "")
8 andreymongol82
 
07.06.13
09:42
Есть такой символ как символы.НПП - длинный пробел
СтрокаДляСтрДлина = СтрЗаменить(Строка(НомерДляПр),символы.НПП , "")
9 volody
 
07.06.13
09:43
Вот Это оперативность!!! 8 ответов за 1 минуту. Миста РУлит!!
Спасибо !
10 floody
 
07.06.13
09:44
удаляй не " ", а Символ(160) например.
11 Defender aka LINN
 
07.06.13
09:44
(7), (8) быдлокодеры. Их ждет много открытий в этой жизни. Особенно когда на сервере разделителем ВНЕЗАПНО окажется другой символ
12 Defender aka LINN
 
07.06.13
09:44
(10) Да, ты тоже :)
13 Живой Ископаемый
 
07.06.13
09:45
нет пробела, вот и не удаляет
14 oslokot
 
07.06.13
09:45
(9) просто вопрос оч.простой
15 andreymongol82
 
07.06.13
09:46
(11) Предложи свой вариант. Или только повышать себя можешь обгаживая других?
16 Serdolik55
 
07.06.13
09:48
Лучше использовать вот эту функцию:
Функция УдалитьСимволыИзСтроки(Стр)
RegExp=Новый COMОбъект("VBScript.RegExp");
RegExp.MultiLine=Ложь;
RegExp.Global=Истина;
RegExp.Pattern = "[^А-я0-9]";
Str1 = СокрЛП(Стр);
Res = RegExp.Replace(Str1, "");
Возврат Res;
КонецФункции

Она оставит то что нужно, а символы удалит. Задавай в параметре Pattern, то что тебе нужно оставить.
17 ZanderZ
 
07.06.13
09:49
(16) жесть :)
18 Живой Ископаемый
 
07.06.13
09:50
2(15) правильный вариант уже предложен, глаза раззуй
19 volody
 
07.06.13
09:51
Скай

Рулит, просто и со фкусом !!!
Это же баг в СртЗаменить.

РегЭкспы Это конечно круто но не читабельно да и зачем из мухи СЛОНА делать.
20 Sserj
 
07.06.13
09:51
(16) А в свете запуска на линксе что выдаст эта функция?
21 organizm
 
07.06.13
09:51
Формат рулит!
Все остальное для тех кому вечно чего-то не хватает в 1С.
22 organizm
 
07.06.13
09:52
(20) сам догадаешься или сказать? ))))
23 andreymongol82
 
07.06.13
09:55
(18) Есть еще вариант, помимо регекспа или формата или стрзаменить. И правильным будет не сферический академический способ, а применительно к ситуации. Так что нечего тут выпендриваться
24 kosts
 
07.06.13
09:56
25 volody
 
07.06.13
09:59
kosts
Самый привальный ответ :))
26 Живой Ископаемый
 
07.06.13
10:03
2(23) нет, правильным в этом случае всегда будет один способ, так что да, нечего тут выпендриваться.
27 hhhh
 
07.06.13
10:08
(26) самый правильный метод: зайти в региональные установки базы и убрать там разделители групп.
28 Smallrat
 
07.06.13
11:29
у него же НомерДляПр - число в виде строки из экселя, чем тут Формат() поможет ?
29 qeos
 
07.06.13
11:32
а число(НомерДляПр) не поможет?
30 andreymongol82
 
07.06.13
11:35
(26) И что у нас формат и для строк работает?
31 Живой Ископаемый
 
07.06.13
11:35
оно и так число
32 hhhh
 
07.06.13
11:38
(28), (30) НомерДляПр - это число в виде числа, с ним формат работает.

а число в виде строки у автора получаеьтся позже, потому что он тупо применил функцию Строка().
33 volody
 
07.06.13
11:39
andreymongol82
Работает ! Сам в шоке. Это 1С :))
34 Dethmont
 
07.06.13
11:43
Ч=СтрЗаменить(1 500,Символы.НПП,"");
Но лучше формат()
35 Dmitry77
 
07.06.13
11:48
А еще можно этот символ скопировать из предприятия и вставить в код функции.
36 andreymongol82
 
07.06.13
12:00
Сюрреализм