Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 11.10.2004, 07:53
spartan вне форума Посмотреть профиль Отправить личное сообщение для spartan Найти все сообщения от spartan
  № 1  
spartan
 
Аватар для spartan

Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
По умолчанию пробелы...

Вот такая трабла :
у меня , допустим , есть строка -
"флэша рулит по-полной"
как видите, между каждыми словами немеренно пробелов, как же мне преобразовать это в -
"флэша рулит по-полной"
то-есть убить лишние пробелы, и оставить между словами только по-одной штучке ? ? ?

Всё дело в том что каждый раз точное количество пробелов между этими словами мне не известно, но в конце-концов надо получить по-одному пробелу между каждым словом.

Уф-ф-ф..
Вроде понятно всё описал.

Люди добрые помогите плизззз ! ! !

Старый 11.10.2004, 07:59
spartan вне форума Посмотреть профиль Отправить личное сообщение для spartan Найти все сообщения от spartan
  № 2  
spartan
 
Аватар для spartan

Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
гыгы...
Вот именно такая система, как на форуме мне и нужна.

В первом сообщении у меня между словами ("флэша рулит")немерянно пробелов, а форумный код сократил их до одного между каждым словом.
Можно ли во флэше сделать так-же.

Старый 11.10.2004, 11:15
FreeLander вне форума Посмотреть профиль Отправить личное сообщение для FreeLander Найти все сообщения от FreeLander
  № 3  
FreeLander
 
Аватар для FreeLander

Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
класс String - там для этого всё есть

Старый 11.10.2004, 14:22
spartan вне форума Посмотреть профиль Отправить личное сообщение для spartan Найти все сообщения от spartan
  № 4  
spartan
 
Аватар для spartan

Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
thanks FreeLander !
Объясни плз поподробнее , если не трудно...
А то я не совсем понимаю...

Старый 11.10.2004, 22:03
spartan вне форума Посмотреть профиль Отправить личное сообщение для spartan Найти все сообщения от spartan
  № 5  
spartan
 
Аватар для spartan

Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
Где же твоя спасительная рука помощи FreeLander !!?
Я весь внимание !!!

Старый 11.10.2004, 22:53
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вариант:
Код:
s="флэша    рулит       по-полной   "
var a=s.split(" "),n=0
while(n<a.length){
	while(a[n]!="")n++
	while(a[n]=="")a.splice(n,1)
}
s=a.join(" ")
trace(s)//флэша рулит по-полной

Старый 12.10.2004, 11:51
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
я бы сделал так:
Код:
s = "флэша    рулит       по-полной   ";
String.prototype.compact = function() {
	var str = this.valueOf();
	var heap = str.split("  ");
	while (heap.length>1) {
		str = heap.join(" ");
		heap = str.split("  ");
	}
	return str;
};
trace(s.compact());
быстрее :)

Старый 12.10.2004, 11:58
spartan вне форума Посмотреть профиль Отправить личное сообщение для spartan Найти все сообщения от spartan
  № 8  
spartan
 
Аватар для spartan

Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
silin ! ! !
вах-х-х !
спасибо !
Но я тебя ещё слегка грузану...
А что делать если человек нажал "enter" и перешёл на другую строку ?
Это как бы тоже пробел, или нет ?
И ,если не трудно , опиши ,пож , как твоя система работает, очень хочется самому понять....
Еще раз благодарю...

Старый 12.10.2004, 12:04
spartan вне форума Посмотреть профиль Отправить личное сообщение для spartan Найти все сообщения от spartan
  № 9  
spartan
 
Аватар для spartan

Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
Nox !
А тебе отдельная благодарность...
Твой код реально быстрее ?
Или ?
Твой пост пришёл как раз тогда когда я отвечал на мессагу silin'а ....

Старый 12.10.2004, 12:22
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 10  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) spartan
Твой код реально быстрее ?
это нетрудно проверить..
Код:
test = "флэша    рулит       по-полной   ";
String.prototype.compact1 = function() {
	var a = this.split(" "), n = 0;
	while (n<a.length) {
		while (a[n] != "") {
			n++;
		}
		while (a[n] == "") {
			a.splice(n, 1);
		}
	}
	return a.join(" ");
};
String.prototype.compact2 = function() {
	var str = this.valueOf();
	var heap = str.split("  ");
	while (heap.length>1) {
		str = heap.join(" ");
		heap = str.split("  ");
	}
	return str;
};
this.onMouseDown = function() {
	s = getTimer();
	for (var i = 0; i<1000; i++) {
		test.compact1(); // в среднем 612 мсек
		// test.compact2(); // в среднем 175мсек
	}
	e = getTimer();
	trace(e-s);
};
пощелкай по сцене, посмотри какие числа выпадают.

потом раскоментируй вызов compact2 и закомментируй вызов compact1.

сравни

Создать новую тему   Часовой пояс GMT +4, время: 21:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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