у меня есть строка:
"sample sample sample"
И мне нужно изменить, например, второе совпадение, чтобы на выходе получилось:
"sample hello sample"
Как заменить все три совпадения я знаю:
"sample sample sample".replace(/sample/g, "hello");
Но как ограничиться именно вторым?
Вторым параметром у replace() может быть функция:
var count = 0;
var num = 2;
var str = 'sample sample sample';
str = str.replace(/sample/g, function(a) {
++count;
if (count == num) {
return 'hello';
} else {
return a;
}
});
console.log(str);
var str = "sample sample sample";
var arr = str.split(' ');
var count = 0;
var i = 0;
for (; i < arr.length; i++) {
if (arr[i] == "sample") {
count++
}
if (count == 2) { // в count записываем какое совпадение по счету нужно изменить
arr[i] = "hello";
break;
}
}
str = arr.join(' ');
alert(str);
При крайне малом разнообразии структуры, можно использовать что-то вроде этого:
console.log('sample sample sample'.replace(/((sample).*?)(\2)/, '$1hello'));
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть решения по калькуляторам с Чекбоксами вот тут Но работает только если одно вложениеНадо вот к этому коду:
Привет всемПосле использование thunk прочитал про