2014-10-08 21 views
-5

下面的語句會做什麼:正則表達式:JavaScript

a.replace(/ [^ \ w - ]/g,' - ');

我想查找單詞中所有' - '的實例,並用' - '替換。

另外,如果我找到的任何實例「 - 」盯着和一個字符串的結束,我想刪除它們

這裏是我的要求:

「嗨@raju你怎麼辦?」

我想隱蔽像下面全字:

「嗨,拉朱 - 怎麼辦,你做的事」

條件:

  1. 用' - '替換空格。 2.用' - '替換特殊字符。 3.如果我們有多個' - ',因此用單個' - '代替它們。
  2. 刪除字符串開頭和結尾的' - '。
+0

除了上面例子中的'@',你的特殊字符是什麼? – 2014-10-08 19:50:30

+0

「@」只是特殊字符,但我將以' - '替換每個空格作爲提及4條件。 – user3792804 2014-10-08 19:56:37

+0

這裏有兩個問題。是第一個'replace()'你發佈了你的第一次嘗試嗎?我會建議看看[正則表達式的細節](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions),併發布一些你嘗試過的嘗試,一旦你有了更好的理解。 – 2014-10-08 19:56:59

回答

0

一旦可能的解決方案是:

" Hi @raju how do you do? ".replace(/\s+|[@\?]/g,'-') 
    .replace(/--+/g,'-') 
    .replace(/^[\s-]+|[\s-]+$/g,'') 
>> output: "Hi-raju-how-do-you-do" 

您可以添加其他任何「特殊」字符在該[]首先更換。

+0

這個表達式會做什麼.replace(/ [^ \ w - ]/g,' - ') – user3792804 2014-10-08 20:13:22

+0

解決方案對我有用 – user3792804 2014-10-08 20:23:48