|
Убрать из строки символы табуляции. | ☑ | ||
---|---|---|---|---|
0
kuznecovii
22.06.09
✎
12:02
|
Уважаемые подскажите , что не так.
Вообщем получаю данные из таблицы Word-а. В обработку получаю строку таблицы и соответствующие ячейки пихаю куда надо. Но получилось что в ячейке при заполнении ручками ставят ентер ну и получается что моя строка получается много строчной :). Пытаюсь убрать все эти табуляции строчками кода Стр = ЯчейкаИзВорда.Текст; НоваяСтрока.Колонка1=СтрЗаменить(Стр,Символ(182)," "); Но не получается как была табуляция так и осталась. Попробвал так Стр = ЯчейкаИзВорда.Текст; НоваяСтрока.Колонка1=СтрЗаменить(Стр,Символы.ПС," "); Причем если взять просто поле ввода и туда скопировать строку с табуляцией и выполнить код который выше, то все норма отрабатывает . Почему не убирается в цикле. Вот полный код цикла Для Инд=2 По колСтроки Цикл Попытка НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Автомобиль = Таблица.Cell(Инд,1).Range.Text; НоваяСтрока.Автомобиль = СтрЗаменить(НоваяСтрока.Автомобиль,Символы.ПС,""); НоваяСтрока.Топливо = Таблица.Cell(Инд,2).Range.Text; НоваяСтрока.Топливо = СтрЗаменить(НоваяСтрока.Топливо,Символы.ПС,""); НоваяСтрока.ЛитрНаСтоКм = Таблица.Cell(Инд,3).Range.Text; НоваяСтрока.ЛитрНаСтоКм = СтрЗаменить(НоваяСтрока.ЛитрНаСтоКм,Символы.ПС,""); НоваяСтрока.ЛитрНаМашЧ = Таблица.Cell(Инд,4).Range.Text; НоваяСтрока.ЛитрНаМашЧ = СтрЗаменить(НоваяСтрока.ЛитрНаМашЧ,Символы.ПС,""); Исключение КонецПопытки; КонецЦикла; |
|||
1
ТелепатБот
гуру
22.06.09
✎
12:02
|
||||
2
asady
22.06.09
✎
12:08
|
а тупо в отладчике посмотреть какй код символа там набит не пробовал?
|
|||
3
Puppets
22.06.09
✎
12:09
|
Есть замечательное системное перечисление Символы
Символы (Chars) Символы (Chars) Значения ВК (CR) ВТаб (VTab) НПП (NBSp) ПС (LF) ПФ (FF) Таб (Tab) Описание: Определяет набор специальных символов. Значения этого набора имеют тип Строка. |
|||
4
skunk
22.06.09
✎
12:11
|
если у вас 182 - это символ табуляци... то я испанский летчик
|
|||
5
kuznecovii
22.06.09
✎
12:12
|
дык вот в том то и дело что делал через КодСимвола(КопированиеВыералСимволСюда)
|
|||
6
kuznecovii
22.06.09
✎
12:12
|
Я согласен что вроде все как то непонятно
|
|||
7
kuznecovii
22.06.09
✎
12:13
|
Стр = ЯчейкаИзВорда.Текст;
НоваяСтрока.Колонка1=СтрЗаменить(Стр,Символ(182)," "); Вот это у меня отрабатывает если на форму кинуть поле ввода и кинуть туда хреновую строку и вызвать код выше то у меня получается замечательная строка. Я не понимаю почему это не отрабатывает в цикле. |
|||
8
kuznecovii
22.06.09
✎
12:15
|
Может это ворд вставляет символ с кодом 182 . Просто значек похожь на символ перевода на новую строку.¶
|
|||
9
1СCовец
22.06.09
✎
12:21
|
ЛитрНаСтоКм это ведь число у тебя?
тогда это скорее всего символ разделителя разрядов. Формат()тебе поможет. |
|||
10
kuznecovii
22.06.09
✎
12:23
|
неееее с числами то все норма
у меня проблема с тем что я выдераю наименование автомобиля а там есть еще типо комментариев к нему. Мне нужно как то выдерать правильно модель автомобиля потому как я буду затем на основании этой строчки выдерать из постонавления данные. Поэтому мне нужно из многострочной строки получить одну без ентеров. |
|||
11
1СCовец
22.06.09
✎
12:26
|
попробуй так...
НоваяСтрока.ЛитрНаСтоКм = Формат(Таблица.Cell(Инд,3).Range.Text,"ЧГ="); |
|||
12
kuznecovii
22.06.09
✎
12:27
|
Повторяю с ЛитрНаСтоКМ все норма , мне надо НоваяСтрока.Автомобиль получить без ентеров
|
|||
13
kuznecovii
22.06.09
✎
12:29
|
Вот строка
Машина коммунально-строительная многоцелевая МКСМ-1000Н ¶(дв. НАТZ 3M41, 36,8 kW)¶ погрузка (разгрузка) грунтов I-II категории¶ надо получить Машина коммунально-строительная многоцелевая МКСМ-1000Н (дв. НАТZ 3M41, 36,8 kW)погрузка (разгрузка) грунтов I-II категории |
|||
14
1СCовец
22.06.09
✎
12:31
|
Ну а нафига так делать
НоваяСтрока.Автомобиль = Таблица.Cell(Инд,1).Range.Text; НоваяСтрока.Автомобиль = СтрЗаменить(НоваяСтрока.Автомобиль,Символы.ПС,""); попробуй сначала автомобиль = Таблица.Cell(Инд,1).Range.Text; а потом НоваяСтрока.Автомобиль = автомобиль; может ты когда первый раз присваиваешь я чейке тип многострочной строки она потом у тебя такой и остается. |
|||
15
1СCовец
22.06.09
✎
12:34
|
во второй строке вот так
НоваяСтрока.Автомобиль = СтрЗаменить(автомобиль,Символы.ПС,""); |
|||
16
kuznecovii
22.06.09
✎
13:06
|
делал так таже фигня , но у меня мысля ишла что в коллекции Cell имеет ReadOnly поэтому брал временную переменную и игрался , но таже фигня
|
|||
17
Serg_1960
22.06.09
✎
13:12
|
НаСтоПостовХрени. Раз такая пьянка - режь последний огурец. Слабо по строке посимвольно пройти и показать коды символов?
|
|||
18
Aprobator
22.06.09
✎
13:14
|
Сделай тест. Выгрузи содержимое ячейки в ТекстовыйДокумент и затем считай свойство РазделительСтрок. дальше дело техники :)
|
|||
19
Aprobator
22.06.09
✎
13:19
|
+(18) потому как разделитель строк могет идти ВК (возврат каретки), ПС (перевод строки) или ВК + ПС.
|
|||
20
Aprobator
22.06.09
✎
13:24
|
¶ = код этого символа в самом деле 182. Если не получается его заменить (мало ли служебный символ не цепляется), но метод найти его видит, то сделай конструктор строки.
|
|||
21
kuznecovii
22.06.09
✎
14:18
|
17
Serg_1960 Так и сделал . Раз не идет стандарт функ значит напишем свою стандартную ;) |
|||
22
kuznecovii
22.06.09
✎
14:32
|
а можно еще так
Функция УбратьХреньСимволы(Строка) Количество = СтрЧислоСтрок(Строка); Стр =""; Для Инд=0 по Количество-1 Цикл Стр = Стр + СтрПолучитьСтроку(Строка,Инд)+" "; КонецЦикла; Возврат СокрЛП(Стр); КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |