如何在Javascript中删除短划线分隔字符串的最后一个元素

时间:2012-05-24 14:26:21

标签: javascript

我的字符串用破折号分隔:

x#-ls-foobar-takemeoff-

如何使用javascript删除takemeoff-,其中takemeoff-可以是以破折号结尾的任意数量的字符?

3 个答案:

答案 0 :(得分:6)

var str = "x#-ls-foobar-takemeoff-";
var newStr = str.replace(/[^-]+-$/,"");

基本正则表达式

[^-]+  <-- Match any characters that is not a dash
-      <-- Match a dash character
$      <-- Match the end of a string

答案 1 :(得分:1)

如果您有字符串str,则可以执行以下操作:

str = str.substr(0, str.lastIndexOf("-", str.length - 2));

答案 2 :(得分:0)

使用substr()lastIndexOf()

var myStr = "x#-ls-foobar-takemeoff-";

myStr = myStr.substr(0, myStr.length-1); // remove the trailing -

var lastDash = myStr.lastIndexOf('-'); // find the last -
myStr = myStr.substr(0, lastDash);

alert(myStr);

输出:

  

X#-ls-foobar的

jsFiddle here