我有一个字符串
"Opportunity >> Source = Email >> Status = New >> Branch = Mumbai"
现在,我想从最后一次出现的>>
中删除上面的字符串。我的意思是,我希望结果字符串应该像这样
"Opportunity >> Source = Email >> Status = New"
现在,我正在使用各种jquery / javascript函数,例如split()
,reverse()
,join()
,indexOf()
来删除最后一次出现的字符串的其余部分{ {1}},像这样
>>
使用此功能,我可以获得所需的结果。但我认为必须有一些比这更简单的方法来实现这个使用jquery / javascript。
答案 0 :(得分:3)
请试试这个:
"Opportunity >> Source = Email >> Status = New >> Branch = Mumbai".split(" >> ").slice(0, -1).join(" >> ")
var str = "Opportunity >> Source = Email >> Status = New >> Branch = Mumbai";
console.log(str.split(" >> ").slice(0, -1).join(" >> "));
答案 1 :(得分:2)
您可以简单地使用String的lastIndexOf方法
var input = "Opportunity >> Source = Email >> Status = New >> Branch = Mumbai";
console.log( input.substring(0, input.lastIndexOf( ">>" )) )
答案 2 :(得分:1)
您可以获取>>
的lastindex,然后从字符串的开头到元素>>
的最后位置获取子字符串:
var str = "Opportunity >> Source = Email >> Status = New >> Branch = Mumbai"
var lastindex = str.lastIndexOf(">>");
if (lastindex != -1){
alert(str.substring(0, lastindex-1 ));
}
答案 3 :(得分:0)
Javascript具有lastIndexOf()方法。你可以找到它的最后一次出现。然后轻松删除其余的字符串。 示例:
var test = "Opportunity >> Source = Email >> Status = New >> Branch = Mumbai";
var finIndex = test.lastIndexOf('>>');
var string = test.substring(0, finIndex);
您可以查看链接here
答案 4 :(得分:0)
你可以splice
关闭它:
var arr = test.split(">>");
arr = arr.splice(arr.length - 1, 1);
string = test.join(">>");
答案 5 :(得分:0)
还有一个选择:使用pop()
var src = "Opportunity >> Source = Email >> Status = New >> Branch = Mumbai"
var arr = src.split(">>");
arr.pop();
var s = arr.join(">>");
答案 6 :(得分:0)
您可以在.replace()
中使用正则表达式来删除字符串的额外部分。正则表达式选择字符串的最后一部分(>> Branch = Mumbai
)并将其重新排列为空。您可以在demo
var text = "Opportunity >> Source = Email >> Status = New >> Branch = Mumbai";
console.log(text.replace(/>>[^>]+$/g, ""));