Просмотр полной версии : Проверка строки на наличии символа.
есть строковая переменная A, нужно проверить содержит ли она опеределенный символ и если таковой найдет, то заменить его на заданный.
на пхп делается проще некуда, а во флеше?
сам разобрался:
var symbolPos:Number = textfield.text.indexOf("A");
if (symbolPos>-1) {
textfield.replaceText(symbolPos, symbolPos+1, "B");
}
только это работает с текстовым полем, а как поступить с обычной переменной.. создавать для нее текстовое поле, потом присваивать, обрабатывать и оттуда считывать после обработки ))))
А что это за replaceText?
это есть такой метод у TextField, есть еще replaceCell() =)
а со строкой - ну, либо в массив переводить и Array.splice() либо использовать что-нибудь из String.indexOf(), String.lastIndexOf(), String.slice(), Sting.substr(), String.substring().
Тогда переезжаем в раздел 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
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
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!
За суровый юмор ногами не бить))
Твой чудо-код не работает.
UPD: Старый не работал. А типы кто указывать будет?
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!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.