PDA

Просмотр полной версии : Проверка строки на наличии символа.


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: Старый не работал. А типы кто указывать будет?

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