Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаление переходов на новую строку (http://www.flasher.ru/forum/showthread.php?t=125289)

vcj 20.05.2009 19:53

Удаление переходов на новую строку
 
Подскажите плис метод для удаления из текста всех символов перехода на новую стоку.

Gaen 20.05.2009 19:54

str.replace("\r", '');
str.replace("\n", '');

vcj 21.05.2009 08:12

и это всё в цикле while?

relevance4 21.05.2009 09:40

нет, оно все вхождения заменит

silin 21.05.2009 09:46

это или replace с ключем g
Код AS3:

str = str.replace(/(\r|\n)/g,"");

или split/join
Код AS3:

str = str.split("\r").join("").split("\n").join("");


SunShadow 21.05.2009 10:05

Цитата:

Сообщение от silin (Сообщение 821752)
или split/join
Код AS3:

str = str.split("\r").join("").split("\n").join("");


Вы меня извините, но разбивать на массив, потом соединять и снова разбивать и соединять по моему крайне неоптимально. Первый вариант с регулярными вроде бы быстрее должен быть и легче в понимании

silin 21.05.2009 10:23

не разбивайте, кто ж заставляет..
регЭкспы не всегда у нас были :)

Gaen 21.05.2009 16:57

Регэкспы не всегда были, метод replace тоже не сразу появился... Раньше только через массивы и делали, это был самый простой способ.

derhab 22.05.2009 02:16

по моим тестам
Код AS3:

str = str.split("\r").join("").split("\n").join("");

в 10 раз быстрее чем
Код AS3:

str = str.replace(/(\r|\n)/g,"");

а вот
Код AS3:

str.replace("\n", '');
str.replace("\r", '');

еще в 10 раз быстрее чем
Код AS3:

str = str.split("\r").join("").split("\n").join("");


silin 22.05.2009 09:45

интересно
только str.replace("\n", ''); это удаление одного вхождения
но и в цикле репплейс для простых выражений на порядок быстрее /\r|\n/
причем
Код AS3:

while (str.indexOf("\r") != -1) str = str.replace(/\r/, "");
while (str.indexOf("\n") != -1) str = str.replace(/\n/, "");

пусть на крохи, но еще быстрее, чем
Код AS3:

while (str.indexOf("\n") != -1) str = str.replace("\n", "");
while (str.indexOf("\r") != -1) str = str.replace("\r", "");

в общем способов на любой вкус, смотря кто чего экономит: свое время или машинное :)


Часовой пояс GMT +4, время: 20:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.