Форум 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=92069)

footer 13.02.2007 00:58

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

на пхп делается проще некуда, а во флеше?

footer 13.02.2007 01:11

сам разобрался:

Код:

var symbolPos:Number = textfield.text.indexOf("A");
if (symbolPos>-1) {
    textfield.replaceText(symbolPos, symbolPos+1, "B");
}

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

etc 13.02.2007 02:25

А что это за replaceText?

wvxvw 13.02.2007 02:44

это есть такой метод у TextField, есть еще replaceCell() =)
а со строкой - ну, либо в массив переводить и Array.splice() либо использовать что-нибудь из String.indexOf(), String.lastIndexOf(), String.slice(), Sting.substr(), String.substring().

etc 13.02.2007 12:09

Тогда переезжаем в раздел ActionScript 3. replaceCell я не нашёл, кстати.

Флэш Потрошитель 14.02.2007 01:41

Код:

myString = "abrakadabra";
oldChar = "a";
newChar = "i";
indexOfOldChar = myString.indexOf(oldChar);
while(indexOfOldChar != -1)
{
        myString = myString.substring(0,indexOfOldChar) + newChar + myString.substring(indexOfOldChar+1);
        indexOfOldChar = myString.indexOf(oldChar);
}

trace("String = " + myString); // ibrikidibri


etc 14.02.2007 01:45

Код:

myString = "abrakadabra";
myString = myString.split('a').join('i');
trace(myString);

Рост, только не говори, что while быстрее :)

Флэш Потрошитель 14.02.2007 01:49

Кстати, этот метод можно видоизменить для для замены не только отдельных символов, но и целых последовательностей:

Код:

myString = "abrakadabra";
oldChar = "ra";
newChar = "buka";
indexOfOldChar = myString.indexOf(oldChar);
while(indexOfOldChar != -1)
{
        myString = myString.substring(0,indexOfOldChar) + newChar + myString.substring(indexOfOldChar+newChar.length);
        indexOfOldChar = myString.indexOf(oldChar);
}

trace("String = " + myString); // abbukadabbuka


Azy 15.02.2007 12:46

Код:

var mystring = "split is Shit? Yes, split is SHIT! And substring method is also ShIT!";
var oldChar:RegExp = /shit/gi;
var newChar = "good";
mystring  = mystring.replace(oldChar, newChar);
trace(mystring); //split is good? Yes, spit is good! And substring method is also good!

За суровый юмор ногами не бить))

etc 15.02.2007 12:54

Твой чудо-код не работает.

UPD: Старый не работал. А типы кто указывать будет?


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

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