在rails中的符号后面的小写字符

时间:2014-04-25 07:46:13

标签: ruby-on-rails regex string

我希望对符号'('和')'之后出现的字符进行小写。在我的字符串中。

到目前为止,我已尝试过以下内容:

brackets_array = s.scan(/[\(|\)]/)
          brackets_array.each do |bracket|
            index_of_next_letter = my_string.index(bracket).next
            my_string[index_of_next_letter] = my_string[index_of_next_letter].downcase
          end

但是如果字符串有多对括号(例如' foo(bar)(new)foo'),则这不起作用,因为每次索引(括号)将返回索引它遇到的第一个支架。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

使用.gsub会更简单:

str = 'foo(BAR) (NEW) foo'
str = str.gsub(/\((.+?)\)/) { |s| s.downcase }