2

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

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

编辑

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

谢谢!法尔科

4

4 回答 4

4

你的意思是:


var str = "cats,dogs,bun,bunnies";
var arr = str.split(",");   
arr.splice((arr.length  - 2) ,1);
arr.join(",");
console.log(arr);
于 2012-04-30T04:48:49.030 回答
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(',');
于 2012-04-30T04:53:06.207 回答
0

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

// 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

于 2012-04-30T04:45:20.470 回答
0
  var s="cats,dogs,bunnies"
  var str = s.split(',').reverse();

  str.splice(1,1);
  s=str.join(',')
于 2012-04-30T05:55:06.717 回答