如何移除特定字符之后的所有内容

How to remove everything after particular character

本文关键字:之后 字符 何移      更新时间:2023-09-26

我有一个字符串,如下所示:

Documents for 047-428583 > FOLDER A > FOLDER D

我想在执行特定操作时删除> FOLDER D

我试过使用substring,如下所示,但它删除了>

之后的所有内容
 var data = $("#extend").text();
 $("#extend").text(data.substring(0, data.indexOf('>')));

我已经经历了这个,但在我的情况下,我有多个相同的字符,所以我不能使用它。我猜!

使用lastIndexOf代替:

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf

$("#extend").text(data.substring(0, data.lastIndexOf('>') - 1));

您可以将text()值拆分为>字符,然后在生成的数组中删除最后一个元素:

$("#extend").text(function(i, val) {
    var arr = val.split('>');
    arr.pop();
    return arr.join(' > ');
});

例子小提琴

可以拆分后再合并:

 var data = $("#extend").text().split('>').pop();
 data.join(" > ");
<标题>编辑

正如注释所说,pop()方法返回最终字符串,这段代码是不正确的。正确答案是@Rory mcrossan写道:https://stackoverflow.com/a/31674474/5035890