【问题标题】:Jquery - Remove Particular String from String and return new stringJquery - 从字符串中删除特定字符串并返回新字符串
【发布时间】:2010-11-21 13:11:20
【问题描述】:


我有以下字符串:

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

我想删除“Mangos”(或任何其他通过命名的水果),以便新字符串如下所示:

"Apples, Bananas, Blackberries, Oranges".

我如何使用/不使用 JQuery 来实现这一点?
提前致谢。

问候

【问题讨论】:

    标签: jquery string split


    【解决方案1】:

    一种使用数组的方法,您可以使用$.grep() 来过滤您创建的数组,以便根据逗号进行拆分,如下所示:

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

    You can test it here。或以函数形式(因为您想传递要过滤掉的内容):

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

    You cant test that version here.

    【讨论】:

      【解决方案2】:

      您可以使用正则表达式执行替换:

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

      \b 将匹配单词边界。
      (, |$) 将匹配 或字符串的结尾。

      【讨论】:

      • 这并不真正适合“或任何其他通过命名的水果”部分
      • 澄清:水果名称(将被删除)是从一开始就定义的。如果我的变量是“香蕉”而不是“芒果”,那会怎样?
      • @Nick,Steilflug:new Regex("\\b" + name + "(, |$)", "gi")
      猜你喜欢
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      相关资源
      最近更新 更多