Цитата:
|
Сообщение от wvxvw
Я просто все равно не совсем понимаю, какого результата желает автор...
Пример: "Василий ПупкиН утоп."
меняем совпадения "пупкин" на "ло".
результат: "Василий Ло утоп". (от того, что последняя буква в фамилии была заглавной ничего не изменилось...
или так: "Все страны бывшего СССР пережили экономический кризис".
меняем "ссср" на "Советского Союза".
получаем: "Все страны бывшего СОВЕтского союза пережили экономический кризис".
|
У меня реализован поиск - сообщается сколько искомых строк найдено в файлах поиска. Далее юзер выбирает какой файл просмотреть. Файл загружается в TextField с включенным html. Искомое слово выделяется цветом - <font color="#0000FF">искомое слово</font>. Проблема в том, чтобы сделать эту замену нечувствительной к регистру. То есть чтобы "ИсКОмОе СЛоВо" менял на "<font color="#0000FF">ИсКОмОе СЛоВо</font>" и т.п.
сделал (allT - текст где надо выделить search_str):

Код:
function mark(allT:String;search_str:String){
lenT = length(allT);
allTemp = allT.toLowerCase();
searchTemp = search_str.toLowerCase();
slen = length(search_str);
num = 0; // с какой позиции искать
n = 0; // кол-во найденых
index = allTemp.indexOf(searchTemp, num); // индекс текущего вхождения
while (index>=0) {
allT = allT.substr(0,index + n*29) + '<font color="#0000FF">' + allT.substr(index+n*29,slen) + '</font>' + allT.substr(index+slen+n*29 ,length(allT));
n++;
num = index+slen;
index = allTemp.indexOf(searchTemp, num); // индекс текущего вхождения
};
return allT
};