Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   работа со строками в IE8 (https://javascript.ru/forum/css-html-internet-explorer/11625-rabota-so-strokami-v-ie8.html)

rimdus 03.09.2010 19:43

работа со строками в IE8
 
Коллеги, сел за js пару дней назад, до этого плотничком на delphi. В одной книге прочитал, что для pascal'цев js - головная боль, но мы ж оптимисты, в плохое не верим )))
В общем столкнулся с проблемой... нужно парсить текстовую строку...
Пример функции привожу ниже... в инете везде пишут, что можно обращаться к строке так str[0] и т.д., но реально не работает, грит, что str[i] = udefined. Как вытащить из строки ее символы? Как и обещал пример ниже.

function ExtractFileName(Str1) {
for (i = Str1.length; i>=0; i--) {
if (Str1[i] == 'a') {
alert(Str1[i]);
}

}

}

exec 03.09.2010 19:45

str.charAt(i);

rimdus 03.09.2010 20:10

Цитата:

Сообщение от exec (Сообщение 69632)
str.charAt(i);

Парни, спасибо, конечно, но вопрос был несколько "между строк", почему такая хрень выходит??? в MS здравый смысл не вкуривают???

Например можно так
str1.substr(i, i+1) либо как вы предложили...


Вопрос выше )))

Sweet 03.09.2010 20:25

Цитата:

Сообщение от rimdus
почему такая хрень выходит???

Потому, что ie:
var s = 'YO! I USE CHROME OPERA 9 OR FIREFOX'
alert(s[s.length-1] + s[0] + s[6] + s[11] + s[23])

Kolyaj 04.09.2010 15:49

Цитата:

Сообщение от rimdus
но вопрос был несколько "между строк"

Ответ тоже был между строк: используйте кроссбраузерные решения. Браузеров много, что-то где-то работает, где-то не работает.

float 04.09.2010 15:52

Не совсем понял что там с ие. Но в коде выше ошибка.
Цитата:

function ExtractFileName(Str1) {
for (i = Str1.length; i>=0; i--) {
if (Str1[i] == 'a') {
alert(Str1[i]);
}
Нехер выпендриваться с обратными циклами.
Строка массив 0-9(скажем). str.length = 10.
Obviously udefined.


Часовой пояс GMT +3, время: 07:17.