Показать сообщение отдельно
  #3 (permalink)  
Старый 12.07.2012, 23:16
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Ogara Посмотреть сообщение
Подскажите как правильно в строке найти подстроку и заменить ее.
Вот пример строки:

var str = 'avtor:ivan+kino:dom 2+kniga:100%+';


Так вот в этой строке мы знаем ключи avtor, kino, kniga и знаем что пара всегда разделена : и заканчивается + . Надо найти подстроки ivan, dom 2, 100% и заменить на любые другие строки. Пытался с помощью регулярных выражений хотя бы достать эти строки по одной, например:

var pat = new RegExp("kniga:(.*?)\\+", "ig");
var my_sstring = pat.exec(str);


получал что my_sstring содержит ['kniga:100%', '100%'] вместо только '100%' . Помогите правильно решить проблему.
var str = 'avtor:ivan+kino:dom 2+kniga:100%+', new_str = "";
str = str.split("+");
for (i=0; i < str.length; i++) {
	if (str[i] == "") {  }
	else { new_str += str[i].split(":")[0]+":"+i+"+"; }
}
alert(new_str);
Ответить с цитированием