我有这个字符串:
01-08-2011_11-08-20113-我的身份-我的姓名-1.tif
我想在第三次出现 ("-") 时从字符串的末尾拆分,因为在字符串的开头,长度可能会改变。这就是我想要的:
我的身份-我的名字-1.tif
我不想使用slice
and pop
。我只想使用split
, lastindexof
,substring
和indexof
.
请问有什么建议吗?
我有这个字符串:
01-08-2011_11-08-20113-我的身份-我的姓名-1.tif
我想在第三次出现 ("-") 时从字符串的末尾拆分,因为在字符串的开头,长度可能会改变。这就是我想要的:
我的身份-我的名字-1.tif
我不想使用slice
and pop
。我只想使用split
, lastindexof
,substring
和indexof
.
请问有什么建议吗?
myStr.replace(/^.*-([^-]+-[^-]+-[^-]+)$/, '$1')
这将捕获最后三个破折号之间的所有内容,并仅用该部分替换整个字符串。
我确信有更好的方法来做到这一点 - 因为我对 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