我希望对符号'('和')'之后出现的字符进行小写。在我的字符串中。
到目前为止,我已尝试过以下内容:
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'),则这不起作用,因为每次索引(括号)将返回索引它遇到的第一个支架。 我怎么能做到这一点?
答案 0 :(得分:1)
使用.gsub
会更简单:
str = 'foo(BAR) (NEW) foo'
str = str.gsub(/\((.+?)\)/) { |s| s.downcase }