2009-07-15 36 views
1

在Javascript中,如何用正則表達式調用str.replace(),以除去非「用戶界面 - *」字

str = 'left ui-tabs ui-widget ui-widget-content center right'; 

是否可以通過調用str.replace除去非「用戶界面 - *」的話( )與正則表達式?

調用str.replace後()的結果應該是:

str.replace(/ /, '') = 'ui-tabs ui-widget ui-widget-content'; 

我已經嘗試了一些正則表達式模式,但它們不起作用。

+0

我嘗試的模式是: /\ B(?!UI - )[\ S] + \ b/g的 但它並沒有因爲 「\ B」 也將視工作 「 - 」 作爲字邊界。 – Adios 2009-07-16 00:09:56

回答

3

可以嘗試像:

str.match(/ui-[\w-]+/g).join(" ") 
+0

工作正常。但是有一個假設,即原始字符串中的單詞被一個空格分隔。如果不是這樣,那麼join()結果將不會與用戶在刪除非「ui-」字之後所期望的結果相同。 – 2009-07-15 16:39:14

2

是否必須是一個正則表達式?你可能這樣做,但拆分/加入似乎是一個更好的候選人在這裏。

相關問題