最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to strip last element of dash delimited string in Javascript - Stack Overflow

programmeradmin0浏览0评论

I have string delimited with dashes like:

x#-ls-foobar-takemeoff-

How can I remove takemeoff- using javascript where takemeoff- can be any amount of characters ending in a dash?

I have string delimited with dashes like:

x#-ls-foobar-takemeoff-

How can I remove takemeoff- using javascript where takemeoff- can be any amount of characters ending in a dash?

Share Improve this question edited May 24, 2012 at 14:26 Felix Kling 817k181 gold badges1.1k silver badges1.2k bronze badges asked May 24, 2012 at 14:26 BladeBlade 511 silver badge5 bronze badges
Add a ment  | 

3 Answers 3

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

Basic regular expression says

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

If you have a string str, you can do the following:

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

Using substr() and 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);

Outputs:

x#-ls-foobar

jsFiddle here.

发布评论

评论列表(0)

  1. 暂无评论