【问题标题】:Remove text before last comma in JavaScript在 JavaScript 中删除最后一个逗号之前的文本
【发布时间】:2012-04-30 04:34:36
【问题描述】:

假设我有一个字符串“cats,dogs,bun,bunnies”,其中 bunnies 是通过自动完成附加的。我当然希望 'bun' 被兔子取代。

那么如何删除最后一个逗号之前的文本但保留其他所有内容?所以字符串会是“cats,dogs,bunnies”

编辑

基本上,如果倒数第二项包含在最后一项的第一部分中,则应将其删除。

谢谢! 法尔科

【问题讨论】:

  • 您要始终删除列表中的倒数第二项,还是仅当倒数第二项包含在列表的第一部分中时最后一项?
  • 如果倒数第二项包含在最后一项的第一部分中,基本上是的。它是自动完成的。
  • ...这根本不能回答问题。是哪个?

标签: javascript jquery comma


【解决方案1】:

你的意思是:


var str = "cats,dogs,bun,bunnies";
var arr = str.split(",");   
arr.splice((arr.length  - 2) ,1);
arr.join(",");
console.log(arr);

【讨论】:

    【解决方案2】:

    这是一种方法。你也可以使用正则表达式。

    sList = "cats,dogs,bun,bunnies".split(",");
    num = sList.length;
    if (sList[num-1].search(sList[num-2]) != -1) {
      sList.splice(-2, 1);
    }
    required = sList.join(',');
    

    【讨论】:

      【解决方案3】:

      不确定这是否可行,但有两种方法:

      // Array splice
      text = text.split(',')
      text.splice(-2, 1)
      text = text.join(',')
      
      // regular expression
      text.replace(/\w+,([^,]+)$/, '$1')
      

      https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice

      【讨论】:

        【解决方案4】:
          var s="cats,dogs,bunnies"
          var str = s.split(',').reverse();
        
          str.splice(1,1);
          s=str.join(',')
        

        【讨论】:

          猜你喜欢
          • 2012-12-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多