PDA

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


kashita
30.10.2007, 15:47
Всем доброго дня.

подскажите как реализовать,
есть TextArea в него пишется текст

12.03.2007
получил [12],получил [15]
потратил [10],получил [45]
потратил [15]


как можно в этом тексте найти и посчитать скока получил и сколько потратил...

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

alexcon314
30.10.2007, 16:29
var a = ta.text.split("\r").join("").split(" ").join("").split(",").join("");
var b = a.split("получил[");
var i = 1;
while (b[i]) {
var c = b[i];
var ind = c.indexOf("]", 0);
plus += c.substr(0, ind) * 1;
i++;
}
trace("получил " + plus);
var b = a.split("потратил[");
var i = 1;
while (b[i]) {
var c = b[i];
var ind = c.indexOf("]", 0);
minus += c.substr(0, ind) * 1;
i++;
}
trace("потратил " + minus);

kashita
30.10.2007, 22:53
Огромное спасибо. только почему мне выдает

получил undefined
потратил undefined


никак не могу понять :(

udaaff
31.10.2007, 00:05
Объявите переменные и присвойте им начальные значения
var plus = 0
var minus = 0

kashita
31.10.2007, 01:02
Выдает


получил 0
потратил 0

:wacko:

udaaff
31.10.2007, 01:13
Покажите свой код.

Molecula
31.10.2007, 01:44
ta.text='Сегодня я получил[1] бан на flasher.ru. Я потратил[1] 2 часа на перепалку с модером и получил[2] ещё один бан.'
var plus = 0
var minus = 0
var a = ta.text.split("\r").join("").split(" ").join("").split(",").join("");
var b = a.split("получил[");
var i = 1;
while (b[i]) {
var c = b[i];
var ind = c.indexOf("]", 0);
plus += c.substr(0, ind) * 1;
i++;
}
trace("получил " + plus);
var b = a.split("потратил[");
var i = 1;
while (b[i]) {
var c = b[i];
var ind = c.indexOf("]", 0);
minus += c.substr(0, ind) * 1;
i++;
}
trace("потратил " + minus);

Вот, всё прекрасно работает.