Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > Тип данных string...


Автор: serezhka1986 21.1.2015, 23:24
Добрый вечер!
Смотрю не особо много тут тем, даже не знаю или можно их создавать тут) Но если уж позволяет создать тему, то спрошу. Вот буквально пару дней начал что-то писать на AS, вы уж извиняйте нуба smile
Есть несколько вопросов:

1. У меня есть Input Text, значение которого я присваиваю глобальной переменной, а потом вывожу в Dynamic Text с добавлением своего текста. Делаю так:
Код

_global.myFirstName = inputFirstName.text;

И вывод
Код

helloField.text = _global.myFirstName + ', привет! ';

Но почему-то в итоге я получаю такое:
Код

Текст с поля
, привет!

Т.е. добавляется какой-то перенос строки... Почему так? Может я что-то не так прописал?

2. Есть ли какая-то готовая функция, которая убирает в строке лишние пробелы? Что-то вроде trim в php? Допустим было введено
Код

_______Имя______Пользователя_______

А мне надо получить
Код

Имя_Пользователя

Здесь знак "_" - это пробел

3. И последний вопрос. Есть ли какая-то функция замены текста в строке, типо str_replace в php?
Допустим есть строка
Код

Сколько тебе лет, #FIRSTNAME#??? 

Надо получить
Код

Столько тебе лет, Имя Пользователя???

Т.е. чтобы маркер #FIRSTNAME# менялся моим текстом

Извините, что столько вопросов. Буду благодарен, если поможете, или ткните носом где почитать. Спасибо!

Автор: serezhka1986 22.1.2015, 19:24
Не знаю насколько правильно, но вопрос №1 мне удалось решить так:
Код

var str:String = inputFirstName.text;
str = str.split("\n").join("");
_global.myFirstName = str.split("\r").join("");

helloField.text = _global.myFirstName + ', привет! ';

Автор: SoWa 26.1.2015, 13:30
Да, в AS3 в конце инпутов всегда есть символы конца строки.

Замена подстроки в строке
Код

var s:String = 'foobar @NAME@';
var s1:String = s.replace('@NAME@', 'Hello');


Убирание пробелов
Код

var s:String = '      foo bar      ';
s = s.replace(/^\s+|\s+$/g, '');

Автор: serezhka1986 27.1.2015, 16:02
SoWa, спасибо) Но мне в AS2 надо)

Автор: SoWa 28.1.2015, 15:51
Для замены можно ввести функцию:
Код

String.prototype.replace = function(searchStr, replaceStr):String {
    return this.split(searchStr).join(replaceStr);
};


Добавлено через 1 минуту и 4 секунды
А для убирания пробелов придется ченить похитрить smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)