Раз подстроки разделены запятыми, то проще всего получить массив с помощью функции
split, перебрать элементы циклом, собрать новый массив без ненужных данных и потом склеить с помощью
join:
// входящие данные
var str = 'odborka_vecher_01.jpg,%,podborka_vecher_37.jpg';
// разбиваем на массив по запятой
var arr = str.split(',');
// фильтруем
var resultArr = [];
for (var i = 0; i < arr.length; i++)
{
if (arr[i] != '%')
{
// добавляем в результат
resultArr.push(arr[i]);
}
}
// склеиваем новый массив в строку
var result = resultArr.join(',');
// выводим полученный результат в консоль
console.log(result);
Более короткий вариант и без
join:
str.split(',').forEach(function(item) {
if (item != '%') {
if (result != '') { result += ','; }
result += item;
}
});
console.log(result);
Еще короче, с использованием
filter:
var arr = str.split(',').filter(function(item) {
return item != '%';
});
var result = arr.join(',');
В качестве альтернативного решения, обычный поиск и замена:
var result = str.replace(/,\%,/g, '');
// с учетом того, что % может быть первым или последним
// str.replace(/(\,*)\%(\,*)/g, '')