2011-09-24 186 views
9

我有一個字符串,如:如何從Ruby中的字符串去除括號?

,我想從字符串中去除括號得到的東西是這樣的:

"yellow-corn-corn-on-the-cob" 

我相信你會使用GSUB做到這一點,但我不確定我需要哪種模式來匹配括號。喜歡的東西:

clean_string = old_string.gsub(PATTERN,"") 

回答

21

試試這個:

clean_string = old_string.gsub(/[()]/, "") 

在一個側面說明,Rubular是真棒快速測試你的正則表達式。

+0

不錯,我是持懷疑態度,但隨後嘗試過了,它的工作。一般來說,'()'不需要在'[]'裏面轉義? –

+0

通常情況下,只有在字符類中不處理的字符是],\,^和 - ,即使如此,也只能在位置上(作爲第一個字符)克拉和連字符。 – numbers1311407

+0

我做了一個快速測試,它看起來像只有你必須逃脫(至少在ruby 1.9.2上)是[,],/和\。 –

27

沒有正則表達式:

"yellow-corn-(corn-on-the-cob)".delete('()') #=> "yellow-corn-corn-on-the-cob" 
+0

非常可讀,方便,你甚至不需要跳過括號,這樣''[foo]'。delete('[]')'只返回''foo'' :) –

+0

+++這是一個簡單得多的比選定的一個更適合回答。 –

相關問題