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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Jan 2012
Сообщений: 24
По умолчанию Как посчитать количество символов без пробелов

Я знаю, что очень просто считается с помощью
Код AS1/AS2:
text.length
Но не знаю, как посчитать их без пробелов. Помогите, пожалуйста.

Старый 21.08.2012, 21:56
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 2  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Пройтись циклом по каждому символу. Для получения символа можно использовать метод .splice Вообще посмотрите какие есть методы у строк, можно и через inexOf что-то придумать. Но цикл наверное все равно придется написать.
__________________
Дети не должны знать о своих родителях

Старый 21.08.2012, 22:29
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 3  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Код AS3:
text.length-text.split(" ").length+1
Не проверял, но идея такая.


Последний раз редактировалось Krusty; 21.08.2012 в 23:08.
Старый 21.08.2012, 22:52
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS3:
s.split(" ").length - 1

Старый 21.08.2012, 23:21
eight.alex вне форума Посмотреть профиль Отправить личное сообщение для eight.alex Найти все сообщения от eight.alex
  № 5  
Ответить с цитированием
eight.alex
 
Аватар для eight.alex

Регистрация: Jan 2012
Сообщений: 24
Спасибо Tails, Krusty, udaaff. Рабочим оказался только вариант udaaff, но выводит не количество символов без пробелов, а количество пробелов

Попробовал так, но по сути — получилось тоже самое:

Код AS1/AS2:
nospacestext = inport.text.split(" ");
expunt.text = nospacestext.length;
Можете пояснить зачем здесь -1?

Код AS1/AS2:
s.split(" ").length - 1
UPD

Погуглил, и выяснил что необходимо указать, чем заменять. В итоге родился этот работающий код:

Код AS1/AS2:
nospacestext = inport.text.split(" ").join("");
expunt.text = nospacestext.length;
P.S. Все еще хочется узнать, зачем -1.

Старый 21.08.2012, 23:48
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 6  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Если у вас пять слов, то пробелов сколько? 4.

Старый 21.08.2012, 23:52
eight.alex вне форума Посмотреть профиль Отправить личное сообщение для eight.alex Найти все сообщения от eight.alex
  № 7  
Ответить с цитированием
eight.alex
 
Аватар для eight.alex

Регистрация: Jan 2012
Сообщений: 24
Правильно, но функция же и выведет 4 даже без -1. Или я не прав?

К стати, Krusty, в вашем варианте же не -1, а +1. Почему так?

Старый 21.08.2012, 23:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Функция должна вывести пять Т.к. слов пять.

Старый 21.08.2012, 23:59
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 9  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Код AS3:
var text:String = "aaa bbb ccc ddd";
trace(text.length - text.split(" ").length + 1);
выводит 12. Это правильно. Логика.
всего 15 символов -(4 слова - 1) =12

+1 потому что скобки раскрыли.

Старый 22.08.2012, 00:33
eight.alex вне форума Посмотреть профиль Отправить личное сообщение для eight.alex Найти все сообщения от eight.alex
  № 10  
Ответить с цитированием
eight.alex
 
Аватар для eight.alex

Регистрация: Jan 2012
Сообщений: 24
Спасибо, почти дошло, кроме:

1. Я думал, что функция length считает символы, а не слова.

2. Какие скобки?

UPD

Додумался, что считает длину массива, но про скобки и +1, или -1 не понял.


Последний раз редактировалось eight.alex; 22.08.2012 в 01:12.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
length , text
Опции темы
Опции просмотра

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

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


 


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


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