在 JavaScript 中删除最后一个逗号之前的文本
Posted
技术标签:
【中文标题】在 JavaScript 中删除最后一个逗号之前的文本【英文标题】:Remove text before last comma in JavaScript 【发布时间】:2012-04-30 04:34:36 【问题描述】:假设我有一个字符串“cats,dogs,bun,bunnies”,其中 bunnies 是通过自动完成附加的。我当然希望 'bun' 被兔子取代。
那么如何删除最后一个逗号之前的文本但保留其他所有内容?所以字符串会是“cats,dogs,bunnies”
编辑
基本上,如果倒数第二项包含在最后一项的第一部分中,则应将其删除。
谢谢! 法尔科
【问题讨论】:
您要始终删除列表中的倒数第二项,还是仅当倒数第二项包含在列表的第一部分中时最后一项? 如果倒数第二项包含在最后一项的第一部分中,基本上是的。它是自动完成的。 ...这根本不能回答问题。是哪个? 【参考方案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(',')
【讨论】:
以上是关于在 JavaScript 中删除最后一个逗号之前的文本的主要内容,如果未能解决你的问题,请参考以下文章