Ответ 1
Вы можете использовать String # [] с регулярным выражением:
a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
У меня есть строка вроде этого:
Hi my name is John (aka Johnator)
.
Каков наилучший способ получить то, что находится между круглыми скобками (включая круглые скобки)?
Вы можете использовать String # [] с регулярным выражением:
a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
Используйте [^()]*?
для выбора текста в скобках:
a = "Hi (a(b)c) ((d)"
# => "Hi (a(b)c) ((d)"
a.gsub(/\([^()]*?\)/) { |x| p x[1..-2]; "w"}
"b"
"d"
# => "Hi (awc) (w"
Попробуйте следующее:
str1 = ""
text = "Hi my name is John (aka Johnator)"
text.sub(/(\(.*?\))/) { str1 = $1 }
puts str1
Изменить: не читал о том, чтобы оставить скобки!