Tengo una cadena como esta:Obtener contenido entre paréntesis del objeto String en Ruby
Hi my name is John (aka Johnator)
.
¿Cuál es la mejor manera de obtener lo que se encuentra entre paréntesis (incluidos los paréntesis)?
Tengo una cadena como esta:Obtener contenido entre paréntesis del objeto String en Ruby
Hi my name is John (aka Johnator)
.
¿Cuál es la mejor manera de obtener lo que se encuentra entre paréntesis (incluidos los paréntesis)?
Puede utilizar String#[] con una expresión regular:
a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
Prueba esto:
str1 = ""
text = "Hi my name is John (aka Johnator)"
text.sub(/(\(.*?\))/) { str1 = $1 }
puts str1
Editar: ¿No ha leído acerca de dejar el paréntesis!
Uso [^()]*?
para seleccionar texto en los paréntesis:
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"
No sería Cadena # []? –
@Beerlington Ha! Por supuesto. Fijo. Buena atrapada. – Cade
¿Qué obtienes para '" Hola, mi nombre es John (también conocido como Surprise Bat/\\ (*) (*)/\\) "'? – dbenhur