Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Удалить все символы Enter (переход на след строку) из текста (http://forum.oszone.net/showthread.php?t=166486)

sashadeg 06-02-2010 15:03 1340530

Удалить все символы Enter (переход на след строку) из текста
 
Простенькая задачка. Но не нашел такой функции в разделе "обработка текста".
Как можно преобразовать весь текст в одну строку (конечно вместо Enter нужно вставить пробел)

madmasles 06-02-2010 15:11 1340539

sashadeg,
Во так попробуй.
Код:

StringReplace($text, @CRLF, " ")

kaster 06-02-2010 15:13 1340541

Код:

StringReplace($sText, @CR & @LF, ' ')

madmasles 06-02-2010 15:26 1340554

kaster,
Объясни, пожалуйста, в чем разница между @CR & @LF и @CRLF.
Ведь в русской справке:
Цитата:

@CRLF = @CR & @LF ;требуется для завершения строк.

sashadeg 06-02-2010 15:33 1340566

Спасибо kaster и madmasles =)

kaster 06-02-2010 15:43 1340575

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 1340577

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

Код:

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


amel27 06-02-2010 15:45 1340580

Цитата:

Цитата kaster
хотел учесть что строки могут биться не только по CRLF, но и по CR и LF по отдельности. но так не проканало »

плюсика не хватает... ;)
Код:

StringRegExpReplace($sText, '[\r\n]+', ' ')

timsky 07-02-2010 03:37 1341074

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

amel27 07-02-2010 05:29 1341090

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


Время: 21:33.

Время: 21:33.
© OSzone.net 2001-