2015-05-10 99 views
0

我正在清理文件名,例如node.js替換正則表達式特殊字符

zx5-565x372.jpg?642e0d

zx5-565x372.jpg

具體而言,我想通過6個小寫字母數字字符以除去?緊隨其後。像

modified = original.replace("\?\w{6}", "") 

我已經試過正則表達式,其中\w是一樣[a-zA-Z0-9_]{6}是一樣的,但沒有快樂6。

有人可以向我展示正確的方法嗎?

+0

爲什麼不只是這樣的事情?:\(。*) – DasDas

+0

謝謝,是的,這也有幫助。 – gobob

回答

1

您使用的是字符串,而不是RegExp。

var modified = original.replace(/\?\w{6}$/, ""); 
+0

謝謝,這工作。 – gobob

0
modified = original.replace("\?\w{6}", "") 
          \_______/ 

這只是一個字符串,它不匹配的正則表達式。
字面上你是用空字符串替換字符串?w{6}(因爲轉義的?w沒有特別的含義)。

使用正則表達式的文字來代替:

modified = original.replace(/\?\w{6}/, ""); 

或者只是放鬆你的正則表達式的要求的情況下,改變格式:

modified = original.replace(/\?.*/, ""); 
+0

謝謝,這是有幫助的。 – gobob