問題
正則截取第二個 / 后面的內(nèi)容
例如 /test/gagaga
得到 gagaga
又如 /hahaha/yr-1-k
得到 yr-1-k
不可確定的是第二個 / 后面的內(nèi)容:可能有英文,有數(shù)字,有短橫線(其余沒有)
可以確定的是被截取的字符串第一個字符肯定是 / ;以及兩個 / 之間肯定是一串英文
可以普通的單次截取,又可以多次截取,也可以通過截取兩個 / 之間的字符然后替代原字符串。
但是,怎樣的性能最好呢?
采納
六個可用回答 : 性能測試結(jié)果 ——題主自家的 Chrome 53
邊城:每秒可執(zhí)行約 5,790,000 次;
xzavier:每秒可執(zhí)行約 5,390,000 次;
挺問中原:每秒可執(zhí)行約 4,310,000 次;
同意并接受:每秒可執(zhí)行約 6,590,000 次;
hping:每秒可執(zhí)行約 4,730,000 次;
阿傻不傻:每秒可執(zhí)行約 2,790,000 次;
結(jié)果,同意并接受 的.split('/')[2]方法性能最優(yōu)。
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
可以確定的是被截取的字符串第一個字符肯定是 / ;以及兩個 / 之間肯定是一串英文,反正都要用到字符串的方法,取值步驟少,代碼少,相應(yīng)性能也會好。就你說的這樣:
'/test/gagaga'.replace(/\/.+\//,'');??//"gagaga" '/hahaha/yr-1-k'.replace(/\/.+\//,'');?//"yr-1-k"
split 就可以了,最簡潔了吧~
'/test/gagaga'.split('/')[2] "gagaga" '/hahaha/yr-1-k'.split('/')[2] "yr-1-k"
??