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

时间:2015-07-28 11:03:48

标签: javascript jquery

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

Documents for 047-428583 > FOLDER A > FOLDER D

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

我已尝试使用如下所示的子字符串,但它会删除>

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

我已经通过this,但在我的情况下,我有多个相同的字符,所以我不能使用它。我想!

3 个答案:

答案 0 :(得分:3)

改为使用lastIndexOf:

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

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

答案 1 :(得分:2)

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

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

Example fiddle

答案 2 :(得分:0)

您可以拆分然后再次加入:

 var data = $("#extend").text().split('>').pop();
 data.join(" > ");

修改

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