Войти

Показать полную графическую версию : [решено] Удалить все символы Enter (переход на след строку) из текста


sashadeg
06-02-2010, 15:03
Простенькая задачка. Но не нашел такой функции в разделе "обработка текста".
Как можно преобразовать весь текст в одну строку (конечно вместо Enter нужно вставить пробел)

madmasles
06-02-2010, 15:11
sashadeg,
Во так попробуй.
StringReplace($text, @CRLF, " ")

kaster
06-02-2010, 15:13
StringReplace($sText, @CR & @LF, ' ')

madmasles
06-02-2010, 15:26
kaster,
Объясни, пожалуйста, в чем разница между @CR & @LF и @CRLF.
Ведь в русской справке: @CRLF = @CR & @LF ;требуется для завершения строк.

sashadeg
06-02-2010, 15:33
Спасибо kaster и madmasles =)

kaster
06-02-2010, 15:43
madmasles, да. по всей видимости ничем. я просто хотел учесть что строки могут биться не только по CRLF, но и по CR и LF по отдельности. но так не проканало. самое верное будет
StringRegExpReplace($sText, '[\r\n]', ' ')
вот к примеру
$sText = 'a b c' & @CRLF & 'fdfd fd f' & @CR & 'fdfdf fdf' & @LF & 'dsdsds'
MsgBox(0, '', StringRegExpReplace($sText, '[\r\n]', ' '))

Sp01LeR
06-02-2010, 15:44
Иногда(например при выводе страницы на web-сервере) в тексте идут перемешанные обрывы строк, типа @CR&@CR&@LF или @LF&@CR&@LF поэтому чтоб не было двойных пробелов, то лучше так:

$text=StringStripCR($text)
$text=StringReplace($text, @LF, " ")
$text=StringStripWS($text, 8)

amel27
06-02-2010, 15:45
хотел учесть что строки могут биться не только по CRLF, но и по CR и LF по отдельности. но так не проканало »плюсика не хватает... ;)
StringRegExpReplace($sText, '[\r\n]+', ' ')

timsky
07-02-2010, 03:37
Если я не ошибаюсь насчет @CR и @LF, то одни юзаются на МАКах, другие на НИКСах, а в Винде сразу оба :)

amel27
07-02-2010, 05:29
timsky, Mac OS X уже юзает LF, как и Unix, Win сохранила изначальную систему, когда CR и LF обозначали разные команды для устройств последовательного вывода: CR - возврат каретки (курсора) на начало текущей строки, LF - перевод каретки (курсора) на следующую строку - кстати, это различие можно было применять с пользой при печати на матричных принтерах




© OSzone.net 2001-2012