2014-11-24 142 views
0

我有以下形式的文件名:/folder/file.jpg,我想通過刪除任何額外的正斜槓來清理。Javascript正則表達式:用一個斜槓替換多個正斜槓

如:

'/tt////Images/WP1213.jpg' => '/tt/Images/WP1213.jpg' (example 1) 

'///tt/Images/WP1213.jpg' => '/Images/WP1213.jpg'  (example 2) 

我用以下的正則表達式:myString.replace(/\/+/, "/") 然而,這並不例子1的工作,它只能與示例工作我2

如何寫一個正則表達式也捕獲示例2?

回答

5

您需要轉義正斜槓並且還必須添加全局修飾符(g),以便替換將在全局範圍內發生,否則將僅替換第一個匹配項。

myString.replace(/\/+/g, "/") 

DEMO

2

「不止一個」 是在正則表達式語言{2,}

myString.replace(/\/{2,}/g, "/"); 

http://regex101.com/r/qO5aO5/1

\/+是低效率的,因爲它也 「取代」 單斜槓。

+0

我理解你的推理,並且已經投了票,但是你是否運行過一個perf來支持你的斷言? – 2014-11-24 09:23:22

相關問題