如何从Ruby中的字符串去除括号?

问题描述:

我有一个字符串,如:如何从Ruby中的字符串去除括号?

,我想从字符串中去除括号得到的东西是这样的:

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

我相信你会使用GSUB做到这一点,但我不确定我需要哪种模式来匹配括号。喜欢的东西:

clean_string = old_string.gsub(PATTERN,"") 

试试这个:

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

在一个侧面说明,Rubular是真棒快速测试你的正则表达式。

+0

不错,我是持怀疑态度,但随后尝试过了,它的工作。一般来说,'()'不需要在'[]'里面转义? –

+0

通常情况下,只有在字符类中不处理的字符是],\,^和 - ,即使如此,也只能在位置上(作为第一个字符)克拉和连字符。 – numbers1311407

+0

我做了一个快速测试,它看起来像只有你必须逃脱(至少在ruby 1.9.2上)是[,],/和\。 –

没有正则表达式:

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

非常可读,方便,你甚至不需要跳过括号,这样''[foo]'。delete('[]')'只返回''foo'' :) –

+0

+++这是一个简单得多的比选定的一个更适合回答。 –