2017-05-18 21 views
2

我試圖找到一個正則表達式(這將在node.js工作),以消除華氏和攝氏字母,並從下面的天氣預報中取代「度」串。 「晴朗的天空,低46°F的風向以10至15英里/小時的速度轉向ENE」。試圖刪除字符F或C下面的數字

我想上面的字符串到如下顯示爲:「晴朗的天空低46度西北偏北風轉向ENE在10〜15英里每小時。」。

字符串中可能存在多個溫度的實例。

注:我只想刪除F或C,如果它緊跟在一個沒有空格的數字之間。如果「佛羅里達」在上面的字符串中,我希望字母「F」保持不變。

我試過下面的正則表達式,但它發現整個46F。我只是想把它改成46度。

/\d+[FC]/g 

謝謝。

+0

捕獲的數,並用'$ 1 degrees'取代 – zerkms

+1

謝謝,但jode.js被處理$ 1作爲文字: speechOutput = speechOutput.replace(/ \ d + [FC] /克,「$ 1度); 如果我把它放在單引號之外,它會崩潰。 –

回答

0

這是因爲缺少捕獲組(括號):

使用此:

/(\d+)[FC]/g 

$1是指第一捕獲組。這種情況下的\d+

speechOutput = speechOutput.replace(/(\d+)[FC]/g, '$1 degrees'); 
+1

但你可以隨時選擇一個接受的答案!帶有複選標記 – Robert

+1

@KevinKey幾乎...你也可以接受答案,也可以多拿點 – hmedia1