的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