Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как посчитать количество символов без пробелов (http://www.flasher.ru/forum/showthread.php?t=183441)

eight.alex 21.08.2012 21:24

Как посчитать количество символов без пробелов
 
Я знаю, что очень просто считается с помощью
Код AS1/AS2:

text.length

Но не знаю, как посчитать их без пробелов. Помогите, пожалуйста.

Tails 21.08.2012 21:56

Пройтись циклом по каждому символу. Для получения символа можно использовать метод .splice Вообще посмотрите какие есть методы у строк, можно и через inexOf что-то придумать. Но цикл наверное все равно придется написать.

Krusty 21.08.2012 22:29

Код AS3:

text.length-text.split(" ").length+1

Не проверял, но идея такая.

udaaff 21.08.2012 22:52

Код AS3:

s.split(" ").length - 1


eight.alex 21.08.2012 23:21

Спасибо 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.

Krusty 21.08.2012 23:48

Если у вас пять слов, то пробелов сколько? 4.

eight.alex 21.08.2012 23:52

Правильно, но функция же и выведет 4 даже без -1. Или я не прав?

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

udaaff 21.08.2012 23:55

Функция должна вывести пять :) Т.к. слов пять.

Krusty 21.08.2012 23:59

Код AS3:

var text:String = "aaa bbb ccc ddd";
trace(text.length - text.split(" ").length + 1);

выводит 12. Это правильно. Логика.
всего 15 символов -(4 слова - 1) =12

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

eight.alex 22.08.2012 00:33

Спасибо, почти дошло, кроме:

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

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

UPD

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


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

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