|
Засада с заменой символа | ☑ | ||
---|---|---|---|---|
0
palpetrovich
14.04.20
✎
09:56
|
не могу поменять символ "¶"
кусок кода: Спр = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); //Спр.НаименованиеДляКлиента = "MS Motorservice International GmbH¶ (MSI)" НаименованиеДляКлиента = СокрЛП(Спр.НаименованиеДляКлиента); НаименованиеДляКлиента = СтрЗаменить(НаименованиеДляКлиента, Символ(182) ," "); НаименованиеДляКлиента = СтрЗаменить(НаименованиеДляКлиента, "¶"," "); Сообщить("НаименованиеДляКлиента "+НаименованиеДляКлиента); // "¶" - на месте :( ЧЯНТД? |
|||
1
mikecool
14.04.20
✎
09:57
|
а через кодсимв()?
|
|||
2
mikecool
14.04.20
✎
09:58
|
или вернее симв()
|
|||
3
mikecool
14.04.20
✎
09:58
|
+2 а, я не читатель )))
|
|||
4
mikecool
14.04.20
✎
09:58
|
это точно 182 код или может еще какой?
|
|||
5
palpetrovich
14.04.20
✎
10:01
|
(4) 162 получено из КодСимвола("¶");
|
|||
6
palpetrovich
14.04.20
✎
10:02
|
(5) * 182
|
|||
7
RomanYS
14.04.20
✎
10:03
|
(0) Скорее всего в самой строке другой служебный символ. Возможно перенос строки. А этот символ - "представление" того служебного символа.
|
|||
8
Fish
14.04.20
✎
10:05
|
(6) Попробуй символы.ПС
|
|||
9
Aleksey
14.04.20
✎
10:05
|
Функция УбратьХреньСимволы(Строка)
Количество = СтрЧислоСтрок(Строка); Стр =""; Для Инд=0 по Количество-1 Цикл Стр = Стр + СтрПолучитьСтроку(Строка,Инд)+" "; КонецЦикла; Возврат СокрЛП(Стр); КонецФункции (с) v8: Убрать из строки символы табуляции. |
|||
10
palpetrovich
14.04.20
✎
10:06
|
(8) это есть, я просто не показал
НаименованиеДляКлиента = СтрЗаменить(НаименованиеДляКлиента, Символы.НПП ," "); НаименованиеДляКлиента = СтрЗаменить(НаименованиеДляКлиента, Символы.ПС ," "); |
|||
11
palpetrovich
14.04.20
✎
10:10
|
(9) сработало, но как-то Не так :)
"MS Motorservice International GmbH" а хотелось бы "MS Motorservice International GmbH (MSI)" ... но это уже прогресс ) |
|||
12
Aleksey
14.04.20
✎
10:15
|
(11) я так понимаю у тебя это зрень перед скобками? И получаеться что хвостик на второй строке. По идеи не должен теряться
|
|||
13
palpetrovich
14.04.20
✎
10:17
|
(12) наверное скобки не виноваты, вот еще пример "Фазатинов А.Х¶ ИП"
|
|||
14
palpetrovich
14.04.20
✎
10:19
|
+(13) Количество = СтрЧислоСтрок(Строка); для "Фазатинов А.Х¶ ИП" возвращает 2
|
|||
15
Lama12
14.04.20
✎
10:23
|
(14) Считаю что дело в (7).
|
|||
16
Aleksey
14.04.20
✎
10:27
|
(14) ну вот в цикле он и должен склить в строки и на выходе дать результат. Смотри отладчиком, что и как происходит
|
|||
17
palpetrovich
14.04.20
✎
10:28
|
непонятный результат кодика
Строка = "Фазатинов А.Х¶ ИП"; Для Индекс = 0 По СтрДлина(Строка) Цикл текСимвол = Сред(Строка, Индекс, 1); Сообщить(""+текСимвол+" код "+КодСимвола(текСимвол)); КонецЦикла; Ф код 1 060 Ф код 1 060 а код 1 072 з код 1 079 а код 1 072 т код 1 090 и код 1 080 н код 1 085 о код 1 086 в код 1 074 код 32 А код 1 040 . код 46 Х код 1 061 код 13 код 32 код 32 И код 1 048 П код 1 055 меняю символ ¶ |
|||
18
Aleksey
14.04.20
✎
10:29
|
А что возвращает КодСимвола(Сред(Строка,14,1)) ?
|
|||
19
Aleksey
14.04.20
✎
10:31
|
(17) так работать не будет ¶ это представление и у него другой код символа нежели в изначальной строке.
Грубо говоря есть 2 разных служебных символа с разными кодами и действиями, но графическое представление у них одно и тоже |
|||
20
palpetrovich
14.04.20
✎
10:32
|
ПО ХОДУ ЭТО РАБОТАЕТ
НаименованиеДляКлиента = СтрЗаменить(НаименованиеДляКлиента, Символ(13) ," "); НаименованиеДляКлиента = СтрЗаменить(КратНаименованиеДляКлиентако, Символ(32) ," "); |
|||
21
Aleksey
14.04.20
✎
10:35
|
(20) По идеи ¶ это как раз и означает конец абзаца в ворде, что и соответствует коду (13)
А 32 - это и есть пробел, поэтому вторая строка лишняя |
|||
22
palpetrovich
14.04.20
✎
10:36
|
(21) согласен
всем спасибо! |
|||
23
Aleksey
14.04.20
✎
10:40
|
И да Символы.ПС - это Перевод Строки - или Символ(10)
А Символ(13) - это Возврат Коретки, или Символы.ВК |
|||
24
BeerHelpsMeWin
14.04.20
✎
10:42
|
Не лучше ли вместо замены всех плохих символов выбрать все хорошие и сделать из них новую строку?
|
|||
25
mikecool
14.04.20
✎
11:07
|
(22) ну вот! я еще в (4) был прав ))) я доволен )))
|
|||
26
Garykom
гуру
14.04.20
✎
12:37
|
(24) +1
Хорошие/плохие можно определять по коду символа, условиями на > или < |
|||
27
pechkin
14.04.20
✎
13:27
|
Нужно бы код определять по данным из базы а не контрастом стоки
|
|||
28
pechkin
14.04.20
✎
13:28
|
Копипастом
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |