2013-03-01 23 views
0

我正在嘗試使用正則表達式來解決以下問題。我輸入的字符串是這樣字符串所需的正則表達式

"MTSGNN0002( 1), MTSGNN0028(645), MTSGNN0050( 10)" 

,我想這樣的

"MTSGNN0002,MTSGNN0028,MTSGNN0050" 

輸出,應該刪除其自帶支架之間的所有性格特徵。請幫我解決這個問題。

+1

首先顯示你的努力 – benchwarmer 2013-03-01 16:10:01

+0

首先我試着wi這是一個's.gsub(/ [(\ d \ s)] /,「」)。strip',但這是刪除所有數字。 – 2013-03-01 17:03:52

回答

1

看看這個正則表達式:

([a-zA-Z0-9]*)\(.*\) 

http://rubular.com/r/maZNs0mDkv

從那裏可以很容易;-)

+0

用於提示紅色的+1 – 2013-03-01 16:18:43

+0

這只是一個幸運的巧合:-D我正在尋找某種方式來測試ruby正則表達式而無需編寫文件。 – 2013-03-01 16:20:02

0

與空字符串

1

在這裏你去代替這個表達式\([ \d]+\)的MATHES。 。

\([^\)]*\)|\s 

根據您的問題..上述代替括號和文本里面,並刪除空格。

Example and Source Demo:

3

有時候很簡單的找到你想要的不是刪除你做什麼不是什麼:

s = "MTSGNN0002(1), MTSGNN0028(645), MTSGNN0050(10)" 
s.scan(/MT\w+/).join(',') # Change MT to whatever suits your data. 
+1

我會說:s.scan(/ [A-Z] \ w + /)。join(',')以防'MT'命名在將來發生變化。 – fmendez 2013-03-01 16:38:26

+0

聽起來很好,工作正常 – 2013-03-01 16:58:50