2017-08-07 66 views
-1

我很困惑,爲什麼這不能按預期工作。在'gsub'中使用正則表達式的問題

d = "936589_WI_RAPIDS_STREET_DEPT" 
f=d.gsub('/936*[0-9]_/',' ') 
# => "936589_WI_RAPIDS_STREET_DEPT" 

我本身測試我正則表達式,它給了我想要的輸出:

"WI_RAPIDS_STREET_DEPT" 
+1

請刪除IRB提示,代碼'需要 「awesome_print」'和'd的返回值因爲這些問題不是必需的。謝謝:) –

+0

確定搞清楚了..我的語法是不正確的 - d.gsub /936.*[0-9]_/,「」 – ssharma

+0

只需刪除引號圍繞正則表達式。 – dawg

回答

2

gsub接受一個正則表達式對象,而不是一個字符串。

嘗試:

f=d.gsub(/936*[0-9]_/, ' ') 

而且您正則表達式大概應該是如下:

f=d.gsub(/936[0-9]*_/, ' ') 
+3

'gsub'也接受一個字符串,它只是不會解析字符串中的正則表達式對象:) –