在js中从末尾起第三次出现时拆分字符串
Split a string at the thrid occurance from end in js
我有这个字符串:
01-08-2011_11-08-20113-我的Id我的名字-1.tif
我想在第三次出现("-")时从字符串的末尾拆分,因为在字符串的开头,长度可能会改变。这就是我想要的:
我的Id我的名字-1.tif
我不想使用slice
和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
相关文章:
- 通过跳过拆分字符在 javascript 中拆分字符串
- jQuery字符串使用split()方法在空格后拆分字符串
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- 如何在JavaScript中按大小写拆分字符串
- 根据上次出现的、和_拆分字符串
- 拆分字符串数组(JavaScript)后未定义
- 在空行上拆分字符串
- 使用Regex拆分字符串,保留分隔符
- 使用jquery或regex,带点但不带点的拆分字符串位于单引号中
- Nashorn和Rhino:使用空白regexp拆分字符串
- Javascript:不使用.split()方法拆分字符串
- 如何使用正则表达式在javascript中拆分字符串
- Javascript在第一个空格上拆分字符串
- 首次出现时拆分字符串
- 如何使用正则表达式(.match())拆分字符串
- 使用正则表达式拆分字符串
- Javascript:拆分字符串,但仅使用 1 个结果
- Angularjs-拆分字符串问题
- angularjs在拆分字符串时解析语法错误
- 基于javascript中的AND OR逻辑拆分字符串