一串字符串,例如:bac-cd-de-1.0.1.txt。我想截取其中的1.0.1應(yīng)該怎樣截取?數(shù)字前面的順序可能是不固定,有可能也有:aaa-bbb-1.0.2.txt截取1.0.2這種。中間的數(shù)字有可能是不固定的,也可能是1.10.12這種不只是單個(gè)數(shù)字。對(duì)于這種數(shù)字前面的字符串不是固定數(shù)量的這種字符串怎樣分割。能不能從數(shù)字開始到數(shù)字結(jié)束,截取數(shù)字中間的一部分呢?但是他后面的.txt是一定在的。
7 回答

慕的地8271018
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
用字符串lastIndexOf獲取最后一個(gè)分隔符“-”的索引,然后再用lastIndexOf獲取后綴名的.的索引位置,最后進(jìn)行截取即可

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
正則太難學(xué) for循環(huán)太麻煩 看你的兩組數(shù)據(jù)是有一定規(guī)則的 你可以考慮:
1、如果數(shù)字位數(shù)是固定的 你可以使用substring 先截取后幾位(例如先取出 1.0.1.txt) 然后再把.txt截取掉
2、如果數(shù)據(jù)位數(shù)不是固定的 但.的個(gè)數(shù)固定 你可以先用數(shù)據(jù)接收 split 然后收到拼接
小白想法 就這幾個(gè)字節(jié) 速度不用考慮 ;
想適用性強(qiáng) 那只能慢慢看正則了。

狐的傳說
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
String str = "XXX-1.0.2.txt"; String newstr = str.substring(str.length - 9); newstr = newstr.substring(0, 5); alert(newstr);
添加回答
舉報(bào)
0/150
提交
取消