Имя: Пароль:
1C
1С v8
Как убрать большие пробелы в тексте?
0 Shur1cIT
 
02.09.11
12:10
имееться текст в нем иногда встречаються разрывы которые дляться несколько строк и также есть нужные пробелы в тексте которые удалять ненадо, пытался убирать пробелами блоками мол если пробел значительно длинный его удаляем ТекстСтатьи = СтрЗаменить(ТекстСтатьи,"                                                ",""); но результата нет пробелы как были так и остались, вопрос как убрать большие пробелы?
1 zak555
 
02.09.11
12:11
может это не пробел ?
2 Grusswelle
 
02.09.11
12:11
ХЗ, я писал рекурсивную функцию. Типа Пока Найти (ТвояСтрока, "  ") > 0 Цикл СтрЗаменить(ТвояСтрока, "  ", " ").
3 almar
 
02.09.11
12:11
СТрЗаменить 2 пробела на 1 в цикле несколько раз
4 zak555
 
02.09.11
12:16
ДваПРобела = "  ";
ОдинПробел = " ";

ПозицияДвухПробелов = Найти(Стр, ДваПробела);

Пока ПозицияДвухПробелов  > 0 Цилк
  Стр = Лев(Стр, ПозицияДвухПробелов ) + СокрЛ(Сред(Стр, ПозицияДвухПробелов +1 ));    
  ПозицияДвухПробелов = Найти(Стр, ДваПробела);
КонецЦикла;
5 ZanderZ
 
02.09.11
12:20
(0) в типовых есть РазложитьСтрокуВМассивПодстрок
6 Fragster
 
гуру
02.09.11
12:22
регулярные выражения спасут отца русской демократии
7 Scooter
 
02.09.11
12:27
ТвояСтрока = СтрЗаменить(ТвояСтрока, "   ", " ");    //<= три пробела
ТвояСтрока = СтрЗаменить(ТвояСтрока, "  ", " ");    //<= два пробела
8 Поручик
 
02.09.11
12:30
// Функция удаляет лишние пробелы из переданной строки
//
// Параметры
//  Стр  -    Строка - строковое значение для обработки
//
// Возвращаемое значение:
//   Строка   - обработанная строка
//
//
Функция СжатьСтроку(Знач Стр) Экспорт
   
   Если ТипЗнч(Стр) = Тип("Строка") Тогда
       Пока Найти(Стр, "  ") > 0 Цикл
           Стр = СтрЗаменить(Стр, "  ", " ");
       КонецЦикла;
       Стр = СокрЛП(Стр);
   КонецЕсли;
   
   Возврат Стр;
   
КонецФункции // СжатьСтроку()
9 Fragster
 
гуру
02.09.11
12:31
все советчики не понимают, что там могут быть не только пробелы, но и табуляции и прочие "пробельные" символы
10 zak555
 
02.09.11
12:31
(8) может сначала лучше СокрЛП ?
11 Shur1cIT
 
02.09.11
12:36
я понял в чем дело он строки не удаляет а пробелы тоесть строки почти пусты, корректирую вопрос как удалеть ненужные переводы строки? тоесть тупо заменить Символы.ПС на ""  не полиучиться
12 Ахиллес
 
02.09.11
12:39
Вот, что стоило этим долбакам из 1С в платформу регулярные выражения включить, что бы народ не извращался так.
13 hhhh
 
02.09.11
12:42
(11) тупо заменить получится
14 qwerty09
 
02.09.11
12:52
(11) что то типа:

ТекстРезультат = "";
Для Сч=1 По ЧислоСтрок(ТвойТекст)
  ТекСтрока = СтрПолучитьСтроку(ТвойТекст,Сч);
  Если ПустаяСтрока(ТекСтрока) Тогда
     Продолжить;  
  КонецЕсли;
  ТекстРезультат = ТекстРезультат + ТекСтрока;
КонецЦикла;