在js中从end结束第三次出现时拆分一个字符串

时间:2013-02-20 13:39:15

标签: javascript

我有这个字符串:

  

01-08-2011_11-08-20113-My Id-MY Name-1.tif

我希望在第三次出现(“ - ”)时从字符串的末尾分割,因为字符串的开头长度可能会改变。这就是我想要的:

  

我的名字 - 我的名字 - 1.tif

我不想使用slicepop。我只想使用splitlastindexofsubstringindexof

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

myStr.replace(/^.*-([^-]+-[^-]+-[^-]+)$/, '$1')

它捕获最后三个破折号之间的所有内容,并用该部分替换整个字符串。

答案 1 :(得分:0)

我确定有更好的方法 - 因为我对js很新,但下面的确有效。这是基于您不使用拼接和弹出的请求。

var input = "01-08-2011_11-08-20113-My Id-MY Name-1.tif";
var sc = input.split("-");
var r1 = sc[sc.length-1]
var r2 = sc[sc.length-2]
var r3 = sc[sc.length-3]
var rtn = [r3,r2,r1].join("-")
alert (rtn) //returns: My Id-MY Name-1.tif