我一直沒能找到有類似的功能,以我想要的一個例子來取代一些字符,也就是更換:的Javascript:用正則表達式的十六進制代碼
%與25%
&與%26
/用%2F
#與%23
「與空間
\與空間
對於我使用GWT與String.replaceAll參考,但我問的Javascript,因爲這是它被翻譯成反正。我知道(組件)URI編碼,但它不是我所追求的,我只需要這些字符。
後來編輯:我在尋找一種方式來做到這一點在一個或兩個正則表達式,現在它的完成,因爲這:
splits[i].replaceAll("%", "%25").replaceAll("&", "%26").replaceAll("/","%2F").replaceAll("#", "%23").replaceAll("\"", "").replaceAll("\\\\", " ");
但是這似乎醜陋的我。
+1我*不知道*你可以做到這一點! – 2012-04-24 10:28:17
偉大的答案,我會稍微等一下,並將其標記爲解決方案;即使它在我的應用程序中不可行,它也可以優雅地解決這個問題。我正在查看是否有一種方法使用捕獲 - >替換的通用/標準正則表達式來執行此操作。 – brainwash 2012-04-24 12:39:36
@brainwash:*「我正在查看是否有方法使用帶捕獲 - >替換的通用/標準正則表達式來執行此操作。」*不在JavaScript中;你可以使用捕獲組和佔位符(例如''testing「.replace(/(t)(。)/ g,」$ 2 $ 1「)'=>''etsitng」')來移動東西,轉換*,你必須使用一個函數。我不熟悉任何可以讓你將字符轉換爲字符代碼而不需要回調你寫的函數的正則表達式引擎(但是我的大部分關於正則表達式的經驗都是在JavaScript中),或者當然,單獨做它們。 – 2012-04-24 12:44:46