3

我用破折号分隔字符串,例如:

x#-ls-foobar-takemeoff-

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

4

3 回答 3

7
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
于 2012-05-24T14:29:51.680 回答
1

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

str = str.substr(0, str.lastIndexOf("-", str.length - 2));
于 2012-05-24T14:29:29.527 回答
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 在这里

于 2012-05-24T14:36:13.103 回答