我有一个这样的字符串:
Hi my name is John (aka Johnator)
。
获取括号之间(包括括号)之间的最佳方法是什么?
答案 0 :(得分:27)
您可以将String#[]与正则表达式一起使用:
a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
答案 1 :(得分:1)
试试这个:
str1 = ""
text = "Hi my name is John (aka Johnator)"
text.sub(/(\(.*?\))/) { str1 = $1 }
puts str1
编辑:没看过关于留下括号的内容!
答案 2 :(得分:1)
使用[^()]*?
括号中的选择文字:
irb(main):019:0> a = "Hi (a(b)c) ((d)"
=> "Hi (a(b)c) ((d)"
irb(main):021:0> a.gsub(/\([^()]*?\)/) { |x| p x[1..-2]; "w"}
"b"
"d"
=> "Hi (awc) (w"