的THRID一次出现的字符串我有这个字符串:拆分从端JS
01-08-2011_11-08-20113,我的身份证,我的名称 - 1.tif
我想从字符串末尾(“ - ”)的第三个字符处开始分割,因为字符串的长度可能会改变。这就是我想要的是:
我的身份证,我的名称 - 1.tif
我不想使用slice
和pop
。我只想使用split
,lastindexof
,substring
和indexof
。
有什么建议吗?
的THRID一次出现的字符串我有这个字符串:拆分从端JS
01-08-2011_11-08-20113,我的身份证,我的名称 - 1.tif
我想从字符串末尾(“ - ”)的第三个字符处开始分割,因为字符串的长度可能会改变。这就是我想要的是:
我的身份证,我的名称 - 1.tif
我不想使用slice
和pop
。我只想使用split
,lastindexof
,substring
和indexof
。
有什么建议吗?
myStr.replace(/^.*-([^-]+-[^-]+-[^-]+)$/, '$1')
这抓住了最后三个破折号之间的一切,只用这部分替换整个字符串。
我比我更喜欢这个答案:) – Biketire 2013-02-20 13:51:23
我最终得到了灵魂。我用这个type = name [name.size() - 1]; s1 = name [name.size() - 2]; sIdNo = name [name.size() - 3];获取字符串中的最后三个数组元素 – user1989497 2013-02-22 12:16:59
这段代码是基于假设:
var s = "01-08-2011_11-08-20113-My Id-MY Name-1.tif";
var split_s = s.split("-");
/*
0. 01
1. 08
2. 2011_11
3. 08
4. 20113
5. My Id
6. My Name
7. 1.tif
*/
var result = split_s[5] + "-" + split_s[6] + "-" + split_s[7]; // assuming that the first 4 stripes (0,1,2,3) are used for the date.
我敢肯定有更好的方法来做到这一点 - 因为我很新的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
那么,你有什么尝试? – Achrome 2013-02-20 13:41:18
'split','slice'和'join'将在1行内完成。你为什么不想用它? – Jon 2013-02-20 13:41:45