Jquery - удалить конкретную строку из строки и вернуть новую строку - PullRequest
1 голос
/ 21 ноября 2010


У меня есть следующая строка:

var my_fruits = "Apples, Bananas, Mangos, Blackberries, Oranges";  

Я хочу удалить «Мангос» (или любой другой фрукт, дав имя), чтобы новая строка выглядела так:

"Apples, Bananas, Blackberries, Oranges".

Как мне добиться этого с / без JQuery?
Заранее спасибо.

С уважением

Ответы [ 2 ]

2 голосов
/ 21 ноября 2010

Один из подходов к использованию массива: вы можете использовать $.grep(), чтобы отфильтровать массив, созданный из разбиения на основе запятой, например:

var my_fruits = "Apples, Bananas, Mangos, Blackberries, Oranges";
var result = $.grep(my_fruits.split(', '), function(v) { return v != "Mangos"; }).join(', ');
alert(result);

Вы можете проверить это здесь .Или в форме функции (поскольку вы хотите передать, что отфильтровывать):

function filterOut(my_str, t) { //string, term
  return $.grep(my_str.split(', '), function(v) { return v != t; }).join(', ');
}

Вы не можете проверить эту версию здесь .

1 голос
/ 21 ноября 2010

Вы можете выполнить замену с помощью регулярного выражения:

myFruits = myFruits.replace(/\bMangos(, |$)/gi, "");

\b будет соответствовать границе слова.
(, |$) будет соответствовать либо , , либо концу строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...